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

# Obtener detalles del producto

GET https://api.megaport.com/v2/product/{productUid}

Devuelve los detalles de configuración sobre el servicio de Megaport especificado por el `productUid`.

**Etiquetas de Recurso**

Para devolver los detalles de las etiquetas de recursos, agregue `/tags` al final de la solicitud. Por ejemplo:

`https://api-staging.megaport.com/v2/product/{productUid}/tags`

Reference: https://es.megaport.ferndocs.com/es/api-reference/product-details/get-product-details

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

## Response

### 200

Obtener detalles del producto - Puerto / Obtener detalles del producto - VXC / Obtener detalles del producto - Oracle VXC / Obtener detalles del producto - Internet Megaport / Obtener detalles del producto - MCR / Obtener detalles del producto - MCR IPsec / Obtener detalles del producto - MVE (3 vNICs) antiguo / Obtener detalles del producto - IX / Obtener detalles del producto - Etiquetas de recursos para Puerto / Obtener detalles del producto - MVE / Obtener detalles del producto - IX / Obtener detalles del producto - VXC / Obtener detalles del producto - MCR IPsec / Obtener detalles del producto - Internet Megaport / Obtener detalles del producto - MCR / Obtener detalles del producto - MVE (3 vNICs) antiguo / Obtener detalles del producto - Etiquetas de recursos para Puerto / Obtener detalles del producto - Oracle VXC / Obtener detalles del producto - MVE / Obtener detalles del producto - Puerto

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

## Types

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaData

- `aEnd` (V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataAEnd, optional)
- `addOns` (list of V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataAddOnsItems, optional)
- `adminLocked` (boolean, optional)
- `aggregationId` (any, optional, nullable)
- `asn` (double, optional)
- `associatedIxs` (list of V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataAssociatedIxsItems, optional)
- `associatedVxcs` (list of any, optional)
- `attributeTags` (V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataAttributeTags, optional)
- `autoRenewTerm` (boolean, optional)
- `bEnd` (V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataBEnd, optional)
- `buyoutPort` (boolean, optional)
- `cancelable` (boolean, optional)
- `companyName` (string, optional)
- `companyUid` (string, optional)
- `connectType` (string, optional)
- `contractEndDate` (double, optional)
- `contractStartDate` (double, optional)
- `contractTermMonths` (double, optional)
- `costCentre` (string, optional)
- `createDate` (double, optional)
- `createdBy` (string, optional)
- `crossConnectRequested` (boolean, optional)
- `deployDate` (any, optional, nullable)
- `distanceBand` (string, optional)
- `diversityZone` (string, optional)
- `ecix` (boolean, optional)
- `ixPeerMacro` (any, optional, nullable)
- `ix_peer_macro` (any, optional, nullable)
- `lagId` (any, optional, nullable)
- `lagPrimary` (boolean, optional)
- `liveDate` (double, optional)
- `locationDetail` (V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataLocationDetail, optional)
- `locationId` (double, optional)
- `locationUid` (any, optional, nullable)
- `locked` (boolean, optional)
- `macAddress` (string, optional)
- `market` (string, optional)
- `marketplaceVisibility` (boolean, optional)
- `maxVxcSpeed` (double, optional)
- `maximumRate` (double, optional)
- `mveLabel` (string, optional)
- `mveSize` (string, optional)
- `networkServiceType` (string, optional)
- `portSpeed` (double, optional, nullable)
- `productId` (double, optional)
- `productName` (string, optional)
- `productType` (string, optional)
- `productUid` (string, optional)
- `promoCode` (any, optional, nullable)
- `provisioningStatus` (string, optional)
- `publicGraph` (boolean, optional)
- `rateLimit` (double, optional)
- `resourceTags` (list of V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourceTagsItems, optional)
- `resources` (V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResources, optional)
- `reverseDns` (string, optional)
- `secondaryName` (any, optional, nullable)
- `shutdown` (boolean, optional)
- `term` (any, optional, nullable)
- `termSpeed` (double, optional)
- `terminateDate` (any, optional, nullable)
- `up` (boolean, optional)
- `usageAlgorithm` (string, optional)
- `vendor` (string, optional)
- `virtual` (boolean, optional)
- `vlan` (double, optional)
- `vnics` (list of V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataVnicsItems, optional)
- `vxcApproval` (V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataVxcApproval, optional)
- `vxcAutoApproval` (boolean, optional)
- `vxcDistanceBand` (any, optional, nullable)
- `vxcPermitted` (boolean, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataAEnd

- `connectType` (string, optional)
- `diversityZone` (string, optional)
- `innerVlan` (double, optional, nullable)
- `location` (string, optional)
- `locationDetail` (V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataAEndLocationDetail, optional)
- `locationId` (double, optional)
- `ownerUid` (string, optional)
- `productName` (string, optional)
- `productUid` (string, optional)
- `secondaryName` (any, optional, nullable)
- `vNicIndex` (double, optional)
- `vlan` (double, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataAddOnsItems

- `addOnType` (string, optional)
- `addOnUid` (string, optional)
- `tunnelCount` (double, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataAssociatedIxsItems

- `adminLocked` (boolean, optional)
- `asn` (double, optional)
- `attributeTags` (V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataAssociatedIxsItemsAttributeTags, optional)
- `cancelable` (boolean, optional)
- `contractEndDate` (any, optional, nullable)
- `contractStartDate` (any, optional, nullable)
- `contractTermMonths` (double, optional)
- `createDate` (double, optional)
- `createdBy` (any, optional, nullable)
- `deployDate` (any, optional, nullable)
- `ecix` (boolean, optional)
- `ixPeerMacro` (any, optional, nullable)
- `ix_peer_macro` (any, optional, nullable)
- `locationDetail` (V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataAssociatedIxsItemsLocationDetail, optional)
- `locationId` (double, optional)
- `locationUid` (any, optional, nullable)
- `locked` (boolean, optional)
- `macAddress` (string, optional)
- `networkServiceType` (string, optional)
- `productId` (double, optional)
- `productName` (string, optional)
- `productType` (string, optional)
- `productUid` (string, optional)
- `promoCode` (any, optional, nullable)
- `provisioningStatus` (string, optional)
- `publicGraph` (boolean, optional)
- `rateLimit` (double, optional)
- `secondaryName` (any, optional, nullable)
- `shutdown` (boolean, optional)
- `term` (any, optional, nullable)
- `up` (boolean, optional)
- `usageAlgorithm` (string, optional)
- `vlan` (double, optional)
- `vxcDistanceBand` (any, optional, nullable)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataAttributeTags

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataBEnd

- `connectType` (string, optional)
- `diversityZone` (string, optional)
- `innerVlan` (any, optional, nullable)
- `location` (string, optional)
- `locationDetail` (V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataBEndLocationDetail, optional)
- `locationId` (double, optional)
- `ownerUid` (string, optional)
- `productName` (string, optional)
- `productUid` (string, optional)
- `secondaryName` (any, optional, nullable)
- `vlan` (double, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataLocationDetail

- `city` (string, optional)
- `country` (string, optional)
- `metro` (string, optional)
- `name` (string, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourceTagsItems

- `key` (string, optional)
- `value` (string, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResources

- `bgp_connection` (list of V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesBgpConnectionItems, optional)
- `csp_connection` (V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesCspConnection, optional)
- `interface` (V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesInterface, optional)
- `ip_address` (list of V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesIpAddressItems, optional)
- `virtual_machine` (list of V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesVirtualMachineItems, optional)
- `virtual_router` (V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesVirtualRouter, optional)
- `vll` (V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesVll, optional)
- `vpls_interface` (V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesVplsInterface, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataVnicsItems

- `description` (string, optional)
- `vlan` (double, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataVxcApproval

- `message` (any, optional, nullable)
- `newSpeed` (any, optional, nullable)
- `status` (any, optional, nullable)
- `type` (any, optional, nullable)
- `uid` (any, optional, nullable)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataAEndLocationDetail

- `city` (string, optional)
- `country` (string, optional)
- `metro` (string, optional)
- `name` (string, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataAssociatedIxsItemsAttributeTags

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataAssociatedIxsItemsLocationDetail

- `city` (string, optional)
- `country` (string, optional)
- `metro` (string, optional)
- `name` (string, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataBEndLocationDetail

- `city` (string, optional)
- `country` (string, optional)
- `metro` (string, optional)
- `name` (string, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesBgpConnectionItems

- `asn` (double, optional)
- `customer_asn` (double, optional)
- `customer_ip_address` (string, optional)
- `isp_asn` (double, optional)
- `isp_ip_address` (string, optional)
- `ix_peer_policy` (string, optional)
- `max_prefixes` (double, optional)
- `resource_name` (string, optional)
- `resource_type` (string, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesCspConnection

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesInterface

- `demarcation` (string, optional)
- `loa_template` (string, optional)
- `media` (string, optional)
- `port_speed` (double, optional)
- `resource_name` (string, optional)
- `resource_type` (string, optional)
- `shutdown` (boolean, optional)
- `up` (double, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesIpAddressItems

- `address` (string, optional)
- `resource_name` (string, optional)
- `resource_type` (string, optional)
- `reverse_dns` (string, optional)
- `version` (double, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesVirtualMachineItems

- `cpu_count` (double, optional)
- `id` (double, optional)
- `image` (V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesVirtualMachineItemsImage, optional)
- `resource_type` (string, optional)
- `up` (boolean, optional)
- `vnics` (list of V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesVirtualMachineItemsVnicsItems, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesVirtualRouter

- `bgpShutdownDefault` (boolean, optional)
- `mcrAsn` (double, optional)
- `resource_name` (string, optional)
- `resource_type` (string, optional)
- `speed` (double, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesVll

- `a_inner_vlan` (double, optional)
- `a_vlan` (double, optional)
- `ainnerVlan` (double, optional)
- `b_vlan` (double, optional)
- `rate_limit_mbps` (double, optional)
- `resource_name` (string, optional)
- `resource_type` (string, optional)
- `shutdown` (boolean, optional)
- `up` (double, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesVplsInterface

- `mac_address` (string, optional)
- `rate_limit_mbps` (double, optional)
- `resource_name` (string, optional)
- `resource_type` (string, optional)
- `shutdown` (boolean, optional)
- `vlan` (double, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesCspConnection0

- `bandwidth` (double, optional)
- `bandwidths` (list of double, optional)
- `connectType` (string, optional)
- `connectionId` (string, optional)
- `name` (string, optional)
- `ownerAccount` (string, optional)
- `resource_name` (string, optional)
- `resource_type` (string, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesCspConnection2

- `connectType` (string, optional)
- `customer_ip4_address` (string, optional)
- `customer_ip6_network` (string, optional)
- `ipv4_gateway_address` (string, optional)
- `ipv6_gateway_address` (string, optional)
- `resource_name` (string, optional)
- `resource_type` (string, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesCspConnection3

- `bandwidth` (double, optional)
- `bandwidths` (list of double, optional)
- `connectType` (string, optional)
- `connectionId` (string, optional)
- `name` (string, optional)
- `ownerAccount` (string, optional)
- `resource_name` (string, optional)
- `resource_type` (string, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesCspConnection4

- `connectType` (string, optional)
- `customer_ip4_address` (string, optional)
- `customer_ip6_network` (string, optional)
- `ipv4_gateway_address` (string, optional)
- `ipv6_gateway_address` (string, optional)
- `resource_name` (string, optional)
- `resource_type` (string, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesVirtualMachineItemsImage

- `id` (double, optional)
- `product` (string, optional)
- `vendor` (string, optional)
- `version` (string, optional)

### V2ProductProductUidGetResponsesContentApplicationJsonSchemaDataResourcesVirtualMachineItemsVnicsItems

- `description` (string, optional)
- `vlan` (double, optional)

## Examples

### Get Product Details - IX

**Response**

```json
{
  "data": {
    "adminLocked": false,
    "asn": 6533,
    "attributeTags": {},
    "cancelable": true,
    "companyName": "Megaport Lab",
    "companyUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
    "contractEndDate": 1739541600000,
    "contractStartDate": 1736918460726,
    "contractTermMonths": 1,
    "createDate": 1736918426694,
    "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
    "deployDate": null,
    "ecix": false,
    "ixPeerMacro": null,
    "ix_peer_macro": null,
    "liveDate": 1736918460695,
    "locationDetail": {
      "city": "Sydney",
      "country": "Australia",
      "metro": "Sydney",
      "name": "Equinix SY1"
    },
    "locationId": 2,
    "locationUid": null,
    "locked": false,
    "macAddress": "00:01:00:01:12:35",
    "networkServiceType": "Sydney IX",
    "productId": 225009,
    "productName": "GB. IX",
    "productType": "IX",
    "productUid": "c54d276e-f952-4ddf-a3c2-ecb68d84cfc0",
    "promoCode": null,
    "provisioningStatus": "LIVE",
    "publicGraph": true,
    "rateLimit": 10000,
    "resources": {
      "bgp_connection": [
        {
          "asn": 6533,
          "customer_asn": 6533,
          "customer_ip_address": "103.26.69.11/23",
          "isp_asn": 58941,
          "isp_ip_address": "103.26.68.1",
          "ix_peer_policy": "open",
          "max_prefixes": 1000,
          "resource_name": "rs1_ipv4_bgp_connection",
          "resource_type": "bgp_connection"
        },
        {
          "asn": 6533,
          "customer_asn": 6533,
          "customer_ip_address": "2001:dea:0:10::10b/64",
          "isp_asn": 58941,
          "isp_ip_address": "2001:dea:0:10::1",
          "ix_peer_policy": "open",
          "max_prefixes": 500,
          "resource_name": "rs1_ipv6_bgp_connection",
          "resource_type": "bgp_connection"
        },
        {
          "asn": 6533,
          "customer_asn": 6533,
          "customer_ip_address": "103.26.69.11/23",
          "isp_asn": 58941,
          "isp_ip_address": "103.26.68.2",
          "ix_peer_policy": "open",
          "max_prefixes": 1000,
          "resource_name": "rs2_ipv4_bgp_connection",
          "resource_type": "bgp_connection"
        },
        {
          "asn": 6533,
          "customer_asn": 6533,
          "customer_ip_address": "2001:dea:0:10::10b/64",
          "isp_asn": 58941,
          "isp_ip_address": "2001:dea:0:10::2",
          "ix_peer_policy": "open",
          "max_prefixes": 500,
          "resource_name": "rs2_ipv6_bgp_connection",
          "resource_type": "bgp_connection"
        }
      ],
      "interface": {
        "demarcation": "Equinix SY1\n639 Gardeners Road, Mascot\nType: Single-mode Fibre Pair\nPorts: PPP:0519-A:1290103, ports 13+14\nTermination: LC connector\n",
        "loa_template": "megaport",
        "media": "LR4",
        "port_speed": 100000,
        "resource_name": "interface",
        "resource_type": "interface",
        "shutdown": false,
        "up": 1
      },
      "ip_address": [
        {
          "address": "103.26.69.11/23",
          "resource_name": "ipv4_address",
          "resource_type": "ip_address",
          "reverse_dns": "as6533.sydney.megaport.com.",
          "version": 4
        },
        {
          "address": "2001:dea:0:10::10b/64",
          "resource_name": "ipv6_address",
          "resource_type": "ip_address",
          "reverse_dns": "as6533.sydney.megaport.com.",
          "version": 6
        }
      ],
      "vpls_interface": {
        "mac_address": "00:01:00:01:12:35",
        "rate_limit_mbps": 10000,
        "resource_name": "vpls_interface",
        "resource_type": "vpls_interface",
        "shutdown": false,
        "vlan": 639
      }
    },
    "reverseDns": "as6533.sydney.megaport.com.",
    "secondaryName": null,
    "shutdown": false,
    "term": null,
    "up": true,
    "usageAlgorithm": "POST_PAID_HOURLY_SPEED_METRO_IX",
    "vlan": 639,
    "vxcDistanceBand": null
  },
  "message": "Producto encontrado c54d276e-f952-4ddf-a3c2-ecb68d84cfc0",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Get Product Details - IX
import requests

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

response = requests.get(url)

print(response.json())
```

```javascript Get Product Details - IX
const url = 'https://api.megaport.com/v2/product/productUid';
const options = {method: 'GET'};

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

```go Get Product Details - IX
package main

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

func main() {

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

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

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

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

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

}
```

```ruby Get Product Details - IX
require 'uri'
require 'net/http'

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

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

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

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

```java Get Product Details - IX
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

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

```php Get Product Details - IX
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

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

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

```csharp Get Product Details - IX
using RestSharp;

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

```swift Get Product Details - IX
import Foundation

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

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

### Get Product Details - MCR

**Response**

```json
{
  "data": {
    "addOns": [
      {
        "addOnType": "IP_SEC",
        "addOnUid": "7713c61c-4ffa-4a0b-8065-d615b8749dd5",
        "tunnelCount": 10
      }
    ],
    "adminLocked": false,
    "aggregationId": null,
    "associatedIxs": [],
    "associatedVxcs": [
      {
        "aEnd": {
          "connectType": "VROUTER",
          "diversityZone": "blue",
          "innerVlan": 4061,
          "location": "CoreSite BO1",
          "locationDetail": {
            "city": "Boston",
            "country": "USA",
            "metro": "Boston",
            "name": "CoreSite BO1"
          },
          "locationId": 650,
          "ownerUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
          "productName": "Example MCR",
          "productUid": "591c38bd-0905-49d0-8b25-3d3d17e19fee",
          "secondaryName": null,
          "vNicIndex": 0,
          "vlan": 2942
        },
        "adminLocked": false,
        "attributeTags": {},
        "autoRenewTerm": true,
        "bEnd": {
          "connectType": "AZURE",
          "diversityZone": "blue",
          "innerVlan": null,
          "location": "Equinix SY1",
          "locationDetail": {
            "city": "Sydney",
            "country": "Australia",
            "metro": "Sydney",
            "name": "Equinix SY1"
          },
          "locationId": 2,
          "ownerUid": "c40de5ed-4707-4471-a78c-69436de2c505",
          "productName": "Sydney Primary",
          "productUid": "fece8275-86ec-4bbd-b328-67ddac6d852e",
          "secondaryName": null,
          "vlan": 3901
        },
        "cancelable": true,
        "contractEndDate": 1789135200000,
        "contractStartDate": 1757654290715,
        "contractTermMonths": 12,
        "createDate": 1757654249765,
        "createdBy": "2c2beb4a-53d0-47ed-9072-06f13a425502",
        "distanceBand": "INTERZONE",
        "locked": false,
        "maximumRate": 2500,
        "productId": 256943,
        "productName": "Example VXC",
        "productType": "VXC",
        "productUid": "b24b1b5a-7b3c-40a1-b6ca-f29dc4741850",
        "provisioningStatus": "LIVE",
        "rateLimit": 500,
        "secondaryName": null,
        "shutdown": false,
        "termSpeed": 500,
        "up": true,
        "usageAlgorithm": "POST_PAID_HOURLY_SPEED_LONG_HAUL_VXC",
        "vxcApproval": {
          "message": null,
          "newSpeed": null,
          "status": null,
          "type": null,
          "uid": null
        }
      }
    ],
    "attributeTags": {},
    "autoRenewTerm": true,
    "buyoutPort": false,
    "cancelable": true,
    "companyName": "Megaport Lab",
    "companyUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
    "connectType": "VROUTER",
    "contractEndDate": 1789135200000,
    "contractStartDate": 1757654205300,
    "contractTermMonths": 12,
    "createDate": 1757654165976,
    "createdBy": "2c2beb4a-53d0-47ed-9072-06f13a425502",
    "crossConnectRequested": false,
    "diversityZone": "blue",
    "lagId": null,
    "lagPrimary": false,
    "liveDate": 1757654205279,
    "locationDetail": {
      "city": "Boston",
      "country": "USA",
      "metro": "Boston",
      "name": "CoreSite BO1"
    },
    "locationId": 650,
    "locked": false,
    "market": "US",
    "marketplaceVisibility": false,
    "maxVxcSpeed": 2500,
    "portSpeed": 2500,
    "productId": 256942,
    "productName": "Example MCR",
    "productType": "MCR2",
    "productUid": "591c38bd-0905-49d0-8b25-3d3d17e19fee",
    "provisioningStatus": "LIVE",
    "resources": {
      "virtual_router": {
        "bgpShutdownDefault": false,
        "mcrAsn": 133937,
        "resource_name": "virtual_router",
        "resource_type": "virtual_router",
        "speed": 2500
      }
    },
    "secondaryName": null,
    "terminateDate": null,
    "up": true,
    "usageAlgorithm": "POST_PAID_FIXED",
    "virtual": true,
    "vxcAutoApproval": false,
    "vxcPermitted": true
  },
  "message": "Producto encontrado 591c38bd-0905-49d0-8b25-3d3d17e19fee",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Get Product Details - MCR
import requests

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

response = requests.get(url)

print(response.json())
```

```javascript Get Product Details - MCR
const url = 'https://api.megaport.com/v2/product/productUid';
const options = {method: 'GET'};

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

```go Get Product Details - MCR
package main

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

func main() {

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

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

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

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

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

}
```

```ruby Get Product Details - MCR
require 'uri'
require 'net/http'

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

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

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

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

```java Get Product Details - MCR
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

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

```php Get Product Details - MCR
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

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

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

```csharp Get Product Details - MCR
using RestSharp;

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

```swift Get Product Details - MCR
import Foundation

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

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

### Get Product Details - MCR IPsec

**Response**

```json
{
  "data": {
    "addOns": [
      {
        "addOnType": "IP_SEC",
        "addOnUid": "7713c61c-4ffa-4a0b-8065-d615b8749dd5",
        "tunnelCount": 10
      }
    ],
    "adminLocked": false,
    "aggregationId": null,
    "associatedIxs": [],
    "associatedVxcs": [
      {
        "aEnd": {
          "connectType": "VROUTER",
          "diversityZone": "blue",
          "innerVlan": 4061,
          "location": "CoreSite BO1",
          "locationDetail": {
            "city": "Boston",
            "country": "USA",
            "metro": "Boston",
            "name": "CoreSite BO1"
          },
          "locationId": 650,
          "ownerUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
          "productName": "Example MCR",
          "productUid": "591c38bd-0905-49d0-8b25-3d3d17e19fee",
          "secondaryName": null,
          "vNicIndex": 0,
          "vlan": 2942
        },
        "adminLocked": false,
        "attributeTags": {},
        "autoRenewTerm": true,
        "bEnd": {
          "connectType": "AZURE",
          "diversityZone": "blue",
          "innerVlan": null,
          "location": "Equinix SY1",
          "locationDetail": {
            "city": "Sydney",
            "country": "Australia",
            "metro": "Sydney",
            "name": "Equinix SY1"
          },
          "locationId": 2,
          "ownerUid": "c40de5ed-4707-4471-a78c-69436de2c505",
          "productName": "Sydney Primary",
          "productUid": "fece8275-86ec-4bbd-b328-67ddac6d852e",
          "secondaryName": null,
          "vlan": 3901
        },
        "cancelable": true,
        "contractEndDate": 1789135200000,
        "contractStartDate": 1757654290715,
        "contractTermMonths": 12,
        "createDate": 1757654249765,
        "createdBy": "2c2beb4a-53d0-47ed-9072-06f13a425502",
        "distanceBand": "INTERZONE",
        "locked": false,
        "maximumRate": 2500,
        "productId": 256943,
        "productName": "Example VXC",
        "productType": "VXC",
        "productUid": "b24b1b5a-7b3c-40a1-b6ca-f29dc4741850",
        "provisioningStatus": "LIVE",
        "rateLimit": 500,
        "secondaryName": null,
        "shutdown": false,
        "termSpeed": 500,
        "up": true,
        "usageAlgorithm": "POST_PAID_HOURLY_SPEED_LONG_HAUL_VXC",
        "vxcApproval": {
          "message": null,
          "newSpeed": null,
          "status": null,
          "type": null,
          "uid": null
        }
      }
    ],
    "attributeTags": {},
    "autoRenewTerm": true,
    "buyoutPort": false,
    "cancelable": true,
    "companyName": "Megaport Lab",
    "companyUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
    "connectType": "VROUTER",
    "contractEndDate": 1789135200000,
    "contractStartDate": 1757654205300,
    "contractTermMonths": 12,
    "createDate": 1757654165976,
    "createdBy": "2c2beb4a-53d0-47ed-9072-06f13a425502",
    "crossConnectRequested": false,
    "diversityZone": "blue",
    "lagId": null,
    "lagPrimary": false,
    "liveDate": 1757654205279,
    "locationDetail": {
      "city": "Boston",
      "country": "USA",
      "metro": "Boston",
      "name": "CoreSite BO1"
    },
    "locationId": 650,
    "locked": false,
    "market": "US",
    "marketplaceVisibility": false,
    "maxVxcSpeed": 2500,
    "portSpeed": 2500,
    "productId": 256942,
    "productName": "Example MCR",
    "productType": "MCR2",
    "productUid": "591c38bd-0905-49d0-8b25-3d3d17e19fee",
    "provisioningStatus": "LIVE",
    "resources": {
      "virtual_router": {
        "bgpShutdownDefault": false,
        "mcrAsn": 133937,
        "resource_name": "virtual_router",
        "resource_type": "virtual_router",
        "speed": 2500
      }
    },
    "secondaryName": null,
    "terminateDate": null,
    "up": true,
    "usageAlgorithm": "POST_PAID_FIXED",
    "virtual": true,
    "vxcAutoApproval": false,
    "vxcPermitted": true
  },
  "message": "Producto encontrado 591c38bd-0905-49d0-8b25-3d3d17e19fee",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Get Product Details - MCR IPsec
import requests

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

response = requests.get(url)

print(response.json())
```

```javascript Get Product Details - MCR IPsec
const url = 'https://api.megaport.com/v2/product/productUid';
const options = {method: 'GET'};

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

```go Get Product Details - MCR IPsec
package main

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

func main() {

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

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

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

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

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

}
```

```ruby Get Product Details - MCR IPsec
require 'uri'
require 'net/http'

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

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

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

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

```java Get Product Details - MCR IPsec
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

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

```php Get Product Details - MCR IPsec
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

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

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

```csharp Get Product Details - MCR IPsec
using RestSharp;

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

```swift Get Product Details - MCR IPsec
import Foundation

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

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

### Get Product Details - MVE

**Response**

```json
{
  "data": {
    "adminLocked": false,
    "aggregationId": null,
    "associatedIxs": [],
    "associatedVxcs": [
      {
        "aEnd": {
          "connectType": "DEFAULT",
          "diversityZone": "red",
          "innerVlan": null,
          "location": "NextDC B2",
          "locationDetail": {
            "city": "Brisbane",
            "country": "Australia",
            "metro": "Brisbane",
            "name": "NextDC B2"
          },
          "locationId": 383,
          "ownerUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
          "productName": "B2_SALAB_PLEASE_DO_NOT_DELETE ",
          "productUid": "443462a8-ee11-4d9a-b472-a6f6699bd37b",
          "secondaryName": null,
          "vlan": 2999
        },
        "adminLocked": false,
        "attributeTags": {},
        "bEnd": {
          "connectType": "MVE",
          "diversityZone": "blue",
          "innerVlan": 100,
          "location": "Interactive 39 Herbert (Tower A)",
          "locationDetail": {
            "city": "Sydney",
            "country": "Australia",
            "metro": "Sydney",
            "name": "Interactive 39 Herbert (Tower A)"
          },
          "locationId": 42,
          "ownerUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
          "productName": "STu-C8kv_PLEASE_DO_NOT_DELETE",
          "productUid": "bed6bd44-bcac-47ee-b323-627c218a5107",
          "secondaryName": null,
          "vNicIndex": 0,
          "vlan": 2023
        },
        "cancelable": true,
        "contractEndDate": null,
        "contractStartDate": null,
        "contractTermMonths": 12,
        "createDate": 1689212764828,
        "createdBy": "4b0fa5cb-5137-4081-8757-cf093ec5190a",
        "distanceBand": "INTERZONE",
        "locked": false,
        "productId": 166823,
        "productName": "Internet to B2_SALAB",
        "productType": "VXC",
        "productUid": "5d179927-de42-44e4-bc01-2fd59a458834",
        "provisioningStatus": "LIVE",
        "rateLimit": 600,
        "secondaryName": "Internet to B2_SALAB",
        "shutdown": false,
        "termSpeed": 200,
        "up": true,
        "usageAlgorithm": "POST_PAID_HOURLY_SPEED_LONG_HAUL_VXC",
        "vxcApproval": {
          "message": null,
          "newSpeed": null,
          "status": null,
          "type": null,
          "uid": null
        }
      },
      {
        "aEnd": {
          "connectType": "MVE",
          "diversityZone": "blue",
          "innerVlan": 101,
          "location": "Interactive 39 Herbert (Tower A)",
          "locationDetail": {
            "city": "Sydney",
            "country": "Australia",
            "metro": "Sydney",
            "name": "Interactive 39 Herbert (Tower A)"
          },
          "locationId": 42,
          "ownerUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
          "productName": "STu-C8kv_PLEASE_DO_NOT_DELETE",
          "productUid": "bed6bd44-bcac-47ee-b323-627c218a5107",
          "secondaryName": null,
          "vNicIndex": 0,
          "vlan": 2023
        },
        "adminLocked": false,
        "attributeTags": {},
        "bEnd": {
          "connectType": "DEFAULT",
          "diversityZone": "red",
          "innerVlan": null,
          "location": "Equinix PE2",
          "locationDetail": {
            "city": "Perth",
            "country": "Australia",
            "metro": "Perth",
            "name": "Equinix PE2"
          },
          "locationId": 367,
          "ownerUid": "bc2b039d-d459-42e1-b5be-22467c77dac1",
          "productName": "PartnerVantage_Lab_PER",
          "productUid": "7e121526-686f-4624-81b8-1ee72af60a95",
          "secondaryName": null,
          "vlan": null
        },
        "cancelable": false,
        "contractEndDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1674090009770,
        "createdBy": "4b0fa5cb-5137-4081-8757-cf093ec5190a",
        "distanceBand": "INTERZONE",
        "locked": true,
        "productId": 145867,
        "productName": "Internet to PE2_SALAB",
        "productType": "VXC",
        "productUid": "f44890f3-2bff-4bdd-b527-c67fc9bc15fd",
        "provisioningStatus": "LIVE",
        "rateLimit": 100,
        "secondaryName": "Internet to PE2_SALAB",
        "shutdown": false,
        "up": true,
        "usageAlgorithm": "POST_PAID_HOURLY_SPEED_LONG_HAUL_VXC",
        "vxcApproval": {
          "message": null,
          "newSpeed": null,
          "status": null,
          "type": null,
          "uid": null
        }
      },
      {
        "aEnd": {
          "connectType": "MVE",
          "diversityZone": "blue",
          "innerVlan": 102,
          "location": "Interactive 39 Herbert (Tower A)",
          "locationDetail": {
            "city": "Sydney",
            "country": "Australia",
            "metro": "Sydney",
            "name": "Interactive 39 Herbert (Tower A)"
          },
          "locationId": 42,
          "ownerUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
          "productName": "STu-C8kv_PLEASE_DO_NOT_DELETE",
          "productUid": "bed6bd44-bcac-47ee-b323-627c218a5107",
          "secondaryName": null,
          "vNicIndex": 0,
          "vlan": 2023
        },
        "adminLocked": false,
        "attributeTags": {},
        "bEnd": {
          "connectType": "DEFAULT",
          "diversityZone": "blue",
          "innerVlan": null,
          "location": "AtTokyo Data Centre - Alpha Route",
          "locationDetail": {
            "city": "Tokyo",
            "country": "Japan",
            "metro": "Tokyo",
            "name": "AtTokyo Data Centre - Alpha Route"
          },
          "locationId": 558,
          "ownerUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
          "productName": "ATY_CC1_SALAB_PLEASE_DO_NOT_DELETE",
          "productUid": "6abdeca4-6d88-478f-abb1-3024db7f47f6",
          "secondaryName": null,
          "vlan": 2999
        },
        "cancelable": false,
        "contractEndDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1680485470227,
        "createdBy": "4b0fa5cb-5137-4081-8757-cf093ec5190a",
        "distanceBand": "INTERZONE",
        "locked": true,
        "productId": 155801,
        "productName": "Internet to CC1_SALAB",
        "productType": "VXC",
        "productUid": "9b4a4652-1bd8-4aca-88e1-f2208c6dfab5",
        "provisioningStatus": "LIVE",
        "rateLimit": 20,
        "secondaryName": "Internet to CC1_SALAB",
        "shutdown": false,
        "up": true,
        "usageAlgorithm": "POST_PAID_HOURLY_SPEED_LONG_HAUL_VXC",
        "vxcApproval": {
          "message": null,
          "newSpeed": null,
          "status": null,
          "type": null,
          "uid": null
        }
      },
      {
        "aEnd": {
          "connectType": "MVE",
          "diversityZone": "blue",
          "innerVlan": null,
          "location": "Interactive 39 Herbert (Tower A)",
          "locationDetail": {
            "city": "Sydney",
            "country": "Australia",
            "metro": "Sydney",
            "name": "Interactive 39 Herbert (Tower A)"
          },
          "locationId": 42,
          "ownerUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
          "productName": "STu-C8kv_PLEASE_DO_NOT_DELETE",
          "productUid": "bed6bd44-bcac-47ee-b323-627c218a5107",
          "secondaryName": null,
          "vNicIndex": 0,
          "vlan": 2023
        },
        "adminLocked": false,
        "attributeTags": {},
        "bEnd": {
          "connectType": "TRANSIT",
          "diversityZone": "blue",
          "innerVlan": null,
          "location": "Global Switch Sydney West",
          "locationDetail": {
            "city": "Sydney",
            "country": "Australia",
            "metro": "Sydney",
            "name": "Global Switch Sydney West"
          },
          "locationId": 3,
          "ownerUid": "2f83dc65-5d4c-4730-a66d-926db48a0326",
          "productName": "Megaport Internet",
          "productUid": "472a5359-b3d8-47fc-95e7-cf915f4dba1f",
          "secondaryName": null,
          "vlan": 2023
        },
        "cancelable": false,
        "contractEndDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "costCentre": "",
        "createDate": 1674010533624,
        "createdBy": "4b0fa5cb-5137-4081-8757-cf093ec5190a",
        "distanceBand": "METRO",
        "locked": true,
        "productId": 145586,
        "productName": "Megaport Internet",
        "productType": "VXC",
        "productUid": "eba5dda1-e956-4f4d-be3e-abadece9b33d",
        "provisioningStatus": "LIVE",
        "rateLimit": 20,
        "secondaryName": "STu-Test to Megaport Internet",
        "shutdown": false,
        "up": true,
        "usageAlgorithm": "POST_PAID_HOURLY_NORMALISED_SPEED",
        "vxcApproval": {
          "message": null,
          "newSpeed": null,
          "status": null,
          "type": null,
          "uid": null
        }
      },
      {
        "aEnd": {
          "connectType": null,
          "diversityZone": null,
          "innerVlan": null,
          "location": null,
          "locationDetail": null,
          "locationId": null,
          "ownerUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
          "productName": "Test R",
          "productUid": "c3ed7eea-73aa-422e-b179-85371790c57b",
          "secondaryName": null,
          "vlan": null
        },
        "adminLocked": false,
        "attributeTags": {},
        "bEnd": {
          "connectType": null,
          "diversityZone": null,
          "innerVlan": null,
          "location": null,
          "locationDetail": null,
          "locationId": null,
          "ownerUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
          "productName": "STu-C8kv_PLEASE_DO_NOT_DELETE",
          "productUid": "bed6bd44-bcac-47ee-b323-627c218a5107",
          "secondaryName": null,
          "vlan": null
        },
        "cancelable": true,
        "contractEndDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1699239476377,
        "createdBy": "53ab8682-fed6-4adf-a35a-e61421cddfc0",
        "distanceBand": "INTERZONE",
        "locked": false,
        "productId": 178687,
        "productName": "Test RR",
        "productType": "VXC",
        "productUid": "6e31066b-43b4-4723-89bd-ff5aa48b3b9f",
        "provisioningStatus": "DECOMMISSIONED",
        "rateLimit": 10,
        "secondaryName": null,
        "shutdown": false,
        "terminateDate": 1700390045516,
        "up": null,
        "usageAlgorithm": "POST_PAID_HOURLY_SPEED_LONG_HAUL_VXC",
        "vxcApproval": {
          "message": null,
          "newSpeed": null,
          "status": null,
          "type": null,
          "uid": null
        }
      }
    ],
    "attributeTags": {},
    "buyoutPort": false,
    "cancelable": false,
    "companyName": "Megaport Lab",
    "companyUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
    "connectType": "MVE",
    "contractEndDate": 1676642400000,
    "contractStartDate": 1674010574101,
    "contractTermMonths": 1,
    "costCentre": "",
    "createDate": 1674010532760,
    "createdBy": "4b0fa5cb-5137-4081-8757-cf093ec5190a",
    "crossConnectRequested": false,
    "diversityZone": "blue",
    "lagId": null,
    "lagPrimary": false,
    "liveDate": 1674010574078,
    "locationDetail": {
      "city": "Sydney",
      "country": "Australia",
      "metro": "Sydney",
      "name": "Interactive 39 Herbert (Tower A)"
    },
    "locationId": 42,
    "locked": true,
    "market": "AU",
    "marketplaceVisibility": false,
    "maxVxcSpeed": 10000,
    "mveLabel": "MVE 2/8",
    "mveSize": "SMALL",
    "portSpeed": 100000,
    "productId": 145585,
    "productName": "STu-C8kv_PLEASE_DO_NOT_DELETE",
    "productType": "MVE",
    "productUid": "bed6bd44-bcac-47ee-b323-627c218a5107",
    "provisioningStatus": "LIVE",
    "resources": {
      "virtual_machine": [
        {
          "cpu_count": 2,
          "id": 0,
          "image": {
            "id": 28,
            "product": "C8000",
            "vendor": "Cisco",
            "version": "17.09.01a"
          },
          "resource_type": "virtual_machine",
          "up": true,
          "vnics": [
            {
              "vlan": 2023
            }
          ]
        }
      ]
    },
    "secondaryName": null,
    "terminateDate": null,
    "up": true,
    "usageAlgorithm": "POST_PAID_FIXED",
    "vendor": "CISCO",
    "virtual": false,
    "vnics": [
      {
        "vlan": 2023
      }
    ],
    "vxcAutoApproval": false,
    "vxcPermitted": true
  },
  "message": "Producto encontrado bed6bd44-bcac-47ee-b323-627c218a5107",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Get Product Details - MVE
import requests

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

response = requests.get(url)

print(response.json())
```

```javascript Get Product Details - MVE
const url = 'https://api.megaport.com/v2/product/productUid';
const options = {method: 'GET'};

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

```go Get Product Details - MVE
package main

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

func main() {

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

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

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

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

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

}
```

```ruby Get Product Details - MVE
require 'uri'
require 'net/http'

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

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

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

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

```java Get Product Details - MVE
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

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

```php Get Product Details - MVE
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

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

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

```csharp Get Product Details - MVE
using RestSharp;

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

```swift Get Product Details - MVE
import Foundation

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

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

### Get Product Details - MVE (3 vNICs) old

**Response**

```json
{
  "data": {
    "adminLocked": false,
    "aggregationId": null,
    "associatedIxs": [],
    "associatedVxcs": [
      {
        "aEnd": {
          "connectType": "MVE",
          "diversityZone": "blue",
          "innerVlan": null,
          "location": "Digital Realty Dallas DFW10 (DAL1)",
          "locationDetail": {
            "city": "Dallas",
            "country": "USA",
            "metro": "Dallas",
            "name": "Digital Realty Dallas DFW10 (DAL1)"
          },
          "locationId": 72,
          "ownerUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
          "productName": "todd - pfg - test",
          "productUid": "f6d6402e-fa57-4f54-9edc-865d1eb5e31b",
          "secondaryName": null,
          "vNicIndex": 0,
          "vlan": 908
        },
        "adminLocked": false,
        "attributeTags": {},
        "bEnd": {
          "connectType": "TRANSIT",
          "diversityZone": "blue",
          "innerVlan": null,
          "location": "Digital Realty Dallas DFW10 (DAL1)",
          "locationDetail": {
            "city": "Dallas",
            "country": "USA",
            "metro": "Dallas",
            "name": "Digital Realty Dallas DFW10 (DAL1)"
          },
          "locationId": 72,
          "ownerUid": "2f83dc65-5d4c-4730-a66d-926db48a0326",
          "productName": "Megaport Internet",
          "productUid": "af4333fa-9bb2-425b-8f4e-4539697c3808",
          "secondaryName": null,
          "vlan": 908
        },
        "cancelable": true,
        "contractEndDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1736515765937,
        "createdBy": "a215a61f-7393-4e60-98d1-83609d0accde",
        "distanceBand": "METRO",
        "locked": false,
        "productId": 224200,
        "productName": "todd - pfg - test to Megaport Internet",
        "productType": "VXC",
        "productUid": "e6bfee82-ec27-407d-a515-bc1415a0e0c2",
        "provisioningStatus": "LIVE",
        "rateLimit": 20,
        "secondaryName": null,
        "shutdown": false,
        "up": true,
        "usageAlgorithm": "POST_PAID_HOURLY_NORMALISED_SPEED",
        "vxcApproval": {
          "message": null,
          "newSpeed": null,
          "status": null,
          "type": null,
          "uid": null
        }
      },
      {
        "aEnd": {
          "connectType": "MVE",
          "diversityZone": "blue",
          "innerVlan": 100,
          "location": "Digital Realty Dallas DFW10 (DAL1)",
          "locationDetail": {
            "city": "Dallas",
            "country": "USA",
            "metro": "Dallas",
            "name": "Digital Realty Dallas DFW10 (DAL1)"
          },
          "locationId": 72,
          "ownerUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
          "productName": "todd - pfg - test",
          "productUid": "f6d6402e-fa57-4f54-9edc-865d1eb5e31b",
          "secondaryName": null,
          "vNicIndex": 1,
          "vlan": 1172
        },
        "adminLocked": false,
        "attributeTags": {},
        "bEnd": {
          "connectType": "AWS",
          "diversityZone": null,
          "innerVlan": null,
          "location": "Equinix DA1",
          "locationDetail": {
            "city": "Dallas",
            "country": "USA",
            "metro": "Dallas",
            "name": "Equinix DA1"
          },
          "locationId": 71,
          "ownerUid": "605cb850-dfb4-4a05-a171-8bf17757b3a2",
          "productName": "US East (N. Virginia) (us-east-1)",
          "productUid": "0722ba2a-6dbb-486e-9416-f212abd8d94f",
          "secondaryName": null,
          "vlan": 1172
        },
        "cancelable": true,
        "contractEndDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1736517822125,
        "createdBy": "a215a61f-7393-4e60-98d1-83609d0accde",
        "distanceBand": "METRO",
        "locked": false,
        "productId": 224201,
        "productName": "AWS VXC",
        "productType": "VXC",
        "productUid": "7af5adc0-af76-4d7c-901b-7d4ad42c7ca3",
        "provisioningStatus": "LIVE",
        "rateLimit": 50,
        "secondaryName": null,
        "shutdown": false,
        "up": true,
        "usageAlgorithm": "POST_PAID_VARIABLE",
        "vxcApproval": {
          "message": null,
          "newSpeed": null,
          "status": null,
          "type": null,
          "uid": null
        }
      }
    ],
    "attributeTags": {},
    "buyoutPort": false,
    "cancelable": true,
    "companyName": "Megaport Lab",
    "companyUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
    "connectType": "MVE",
    "contractEndDate": 1739109600000,
    "contractStartDate": 1736515848645,
    "contractTermMonths": 1,
    "createDate": 1736515765669,
    "createdBy": "a215a61f-7393-4e60-98d1-83609d0accde",
    "crossConnectRequested": false,
    "diversityZone": "blue",
    "lagId": null,
    "lagPrimary": false,
    "liveDate": 1736515848625,
    "locationDetail": {
      "city": "Dallas",
      "country": "USA",
      "metro": "Dallas",
      "name": "Digital Realty Dallas DFW10 (DAL1)"
    },
    "locationId": 72,
    "locked": false,
    "market": "US",
    "marketplaceVisibility": false,
    "maxVxcSpeed": 10000,
    "mveLabel": "MVE 8/32",
    "mveSize": "LARGE",
    "portSpeed": 100000,
    "productId": 224199,
    "productName": "todd - pfg - test",
    "productType": "MVE",
    "productUid": "f6d6402e-fa57-4f54-9edc-865d1eb5e31b",
    "provisioningStatus": "LIVE",
    "resources": {
      "virtual_machine": [
        {
          "cpu_count": 8,
          "id": 0,
          "image": {
            "id": 91,
            "product": "Prisma SD-WAN 7108v",
            "vendor": "Palo Alto",
            "version": "vION 7108v-6.4.1-b12"
          },
          "resource_type": "virtual_machine",
          "up": true,
          "vnics": [
            {
              "description": "Puerto de control",
              "vlan": 908
            },
            {
              "description": "Puerto 1",
              "vlan": 1172
            },
            {
              "description": "Puerto 2",
              "vlan": 273
            }
          ]
        }
      ]
    },
    "secondaryName": null,
    "terminateDate": null,
    "up": true,
    "usageAlgorithm": "POST_PAID_FIXED",
    "vendor": "PALO_ALTO",
    "virtual": false,
    "vnics": [
      {
        "description": "Puerto de controlador",
        "vlan": 908
      },
      {
        "description": "Puerto 1",
        "vlan": 1172
      },
      {
        "description": "Puerto 2",
        "vlan": 273
      }
    ],
    "vxcAutoApproval": false,
    "vxcPermitted": true
  },
  "message": "Producto encontrado f6d6402e-fa57-4f54-9edc-865d1eb5e31b",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Get Product Details - MVE (3 vNICs) old
import requests

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

response = requests.get(url)

print(response.json())
```

```javascript Get Product Details - MVE (3 vNICs) old
const url = 'https://api.megaport.com/v2/product/productUid';
const options = {method: 'GET'};

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

```go Get Product Details - MVE (3 vNICs) old
package main

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

func main() {

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

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

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

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

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

}
```

```ruby Get Product Details - MVE (3 vNICs) old
require 'uri'
require 'net/http'

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

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

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

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

```java Get Product Details - MVE (3 vNICs) old
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

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

```php Get Product Details - MVE (3 vNICs) old
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

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

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

```csharp Get Product Details - MVE (3 vNICs) old
using RestSharp;

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

```swift Get Product Details - MVE (3 vNICs) old
import Foundation

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

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

### Get Product Details - Megaport Internet

**Response**

```json
{
  "data": {
    "aEnd": {
      "connectType": "DEFAULT",
      "diversityZone": "red",
      "innerVlan": null,
      "location": "CoreSite VA1",
      "locationDetail": {
        "city": "Reston",
        "country": "USA",
        "metro": "Ashburn",
        "name": "CoreSite VA1"
      },
      "locationId": 68,
      "ownerUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
      "productName": "Example Port",
      "productUid": "bab60684-7ebc-403f-af67-6d97d2fb8fdb",
      "secondaryName": null,
      "vlan": 3002
    },
    "adminLocked": false,
    "attributeTags": {},
    "bEnd": {
      "connectType": "TRANSIT",
      "diversityZone": "red",
      "innerVlan": null,
      "location": "CoreSite DE1",
      "locationDetail": {
        "city": "Denver",
        "country": "USA",
        "metro": "Denver",
        "name": "CoreSite DE1"
      },
      "locationId": 320,
      "ownerUid": "2f83dc65-5d4c-4730-a66d-926db48a0326",
      "productName": "Megaport Internet",
      "productUid": "b1874ba7-bdf8-4619-9e7e-381b0af69bc8",
      "secondaryName": null,
      "vlan": 3002
    },
    "cancelable": true,
    "companyName": "Megaport Lab",
    "companyUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
    "contractEndDate": 1769176800000,
    "contractStartDate": 1737703426874,
    "contractTermMonths": 12,
    "createDate": 1737703386496,
    "createdBy": "2c2beb4a-53d0-47ed-9072-06f13a425502",
    "distanceBand": "INTERZONE",
    "liveDate": 1737703426850,
    "locked": false,
    "maximumRate": 10000,
    "productId": 226340,
    "productName": "Example Port to Megaport Internet",
    "productType": "VXC",
    "productUid": "9998ad26-b87a-4903-8d0f-d9b69052b89e",
    "provisioningStatus": "LIVE",
    "rateLimit": 10000,
    "resources": {
      "csp_connection": {
        "connectType": "TRANSIT",
        "resource_name": "b_csp_connection",
        "resource_type": "csp_connection",
        "customer_ip4_address": "162.43.152.19/31",
        "customer_ip6_network": "2a0a:1800:14:9::/64",
        "ipv4_gateway_address": "162.43.152.18",
        "ipv6_gateway_address": "2a0a:1800:14:9::1"
      },
      "vll": {
        "a_vlan": 3002,
        "b_vlan": 3002,
        "rate_limit_mbps": 10000,
        "resource_name": "vll",
        "resource_type": "vll",
        "shutdown": false,
        "up": 1
      }
    },
    "secondaryName": null,
    "shutdown": false,
    "termSpeed": 10000,
    "up": true,
    "usageAlgorithm": "POST_PAID_HOURLY_SPEED_LONG_HAUL_VXC",
    "vxcApproval": {
      "message": null,
      "newSpeed": null,
      "status": null,
      "type": null,
      "uid": null
    }
  },
  "message": "Producto encontrado 9998ad26-b87a-4903-8d0f-d9b69052b89e",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Get Product Details - Megaport Internet
import requests

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

response = requests.get(url)

print(response.json())
```

```javascript Get Product Details - Megaport Internet
const url = 'https://api.megaport.com/v2/product/productUid';
const options = {method: 'GET'};

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

```go Get Product Details - Megaport Internet
package main

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

func main() {

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

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

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

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

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

}
```

```ruby Get Product Details - Megaport Internet
require 'uri'
require 'net/http'

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

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

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

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

```java Get Product Details - Megaport Internet
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

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

```php Get Product Details - Megaport Internet
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

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

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

```csharp Get Product Details - Megaport Internet
using RestSharp;

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

```swift Get Product Details - Megaport Internet
import Foundation

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

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

### Get Product Details - Oracle VXC

**Response**

```json
{
  "data": {
    "aEnd": {
      "connectType": "VROUTER",
      "diversityZone": "red",
      "innerVlan": 2030,
      "location": "CoreSite VA1",
      "locationDetail": {
        "city": "Reston",
        "country": "USA",
        "metro": "Ashburn",
        "name": "CoreSite VA1"
      },
      "locationId": 68,
      "ownerUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
      "productName": "Example MCR",
      "productUid": "3563cb65-7e11-429c-9768-20225645b5eb",
      "secondaryName": null,
      "vNicIndex": 6,
      "vlan": 2352
    },
    "adminLocked": false,
    "attributeTags": {},
    "bEnd": {
      "connectType": "ORACLE",
      "diversityZone": "blue",
      "innerVlan": null,
      "location": "Digital Realty Los Angeles LAX10 (LOS1)",
      "locationDetail": {
        "city": "Los Angeles",
        "country": "USA",
        "metro": "Los Angeles",
        "name": "Digital Realty Los Angeles LAX10 (LOS1)"
      },
      "locationId": 63,
      "ownerUid": "8ea83603-445c-40c6-94cf-67967a18beb9",
      "productName": "OCI (us-phoenix-1) (BMC)",
      "productUid": "e33162cf-8081-4fbb-aa41-65021d953ec0",
      "secondaryName": null,
      "vlan": 2352
    },
    "cancelable": true,
    "companyName": "Megaport Lab",
    "companyUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
    "contractEndDate": 1769176800000,
    "contractStartDate": 1737702986877,
    "contractTermMonths": 12,
    "createDate": 1737702940476,
    "createdBy": "2c2beb4a-53d0-47ed-9072-06f13a425502",
    "distanceBand": "INTERZONE",
    "liveDate": 1737702986848,
    "locked": false,
    "maximumRate": 5000,
    "productId": 226339,
    "productName": "Example VXC",
    "productType": "VXC",
    "productUid": "875728a5-011c-4f3f-a9a9-4115b595b465",
    "provisioningStatus": "LIVE",
    "rateLimit": 5000,
    "resources": {
      "csp_connection": {
        "0": {
          "connectType": "VROUTER",
          "interfaces": [
            {
              "ipAddresses": [
                "10.0.0.1/30"
              ],
              "natIpAddresses": [
                "10.0.0.1"
              ]
            }
          ],
          "ip_addresses": [
            "10.0.0.1/30"
          ],
          "resource_name": "a_csp_connection",
          "resource_type": "csp_connection",
          "virtualRouterName": "",
          "vlan": 2352
        },
        "1": {
          "bandwidth": 10000,
          "connectType": "ORACLE",
          "csp_name": "Oracle",
          "megaports": [
            {
              "port": 61876,
              "vxc": 226339
            }
          ],
          "ports": [
            {
              "firstVxcServiceId": 633331,
              "service_id": 138549,
              "vxc_service_ids": [
                633331
              ]
            }
          ],
          "resource_name": "b_csp_connection",
          "resource_type": "csp_connection",
          "virtualCircuitId": "ocid1.virtualcircuit.oc1.phx.aaaaaaaapsokflwszxk3c2vhsyj5pkas3gmh3zngyxx7zj6yxj2stgeofk5q"
        }
      },
      "vll": {
        "a_inner_vlan": 2030,
        "a_vlan": 2352,
        "ainnerVlan": 2030,
        "b_vlan": 2352,
        "rate_limit_mbps": 5000,
        "resource_name": "vll",
        "resource_type": "vll",
        "shutdown": false,
        "up": 1
      }
    },
    "secondaryName": null,
    "shutdown": false,
    "termSpeed": 5000,
    "up": true,
    "usageAlgorithm": "POST_PAID_HOURLY_SPEED_LONG_HAUL_VXC",
    "vxcApproval": {
      "message": null,
      "newSpeed": null,
      "status": null,
      "type": null,
      "uid": null
    }
  },
  "message": "Producto encontrado 875728a5-011c-4f3f-a9a9-4115b595b465",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Get Product Details - Oracle VXC
import requests

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

response = requests.get(url)

print(response.json())
```

```javascript Get Product Details - Oracle VXC
const url = 'https://api.megaport.com/v2/product/productUid';
const options = {method: 'GET'};

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

```go Get Product Details - Oracle VXC
package main

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

func main() {

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

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

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

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

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

}
```

```ruby Get Product Details - Oracle VXC
require 'uri'
require 'net/http'

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

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

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

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

```java Get Product Details - Oracle VXC
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

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

```php Get Product Details - Oracle VXC
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

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

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

```csharp Get Product Details - Oracle VXC
using RestSharp;

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

```swift Get Product Details - Oracle VXC
import Foundation

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

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

### Get Product Details - Port

**Response**

```json
{
  "data": {
    "adminLocked": false,
    "aggregationId": null,
    "associatedIxs": [
      {
        "adminLocked": false,
        "asn": 6533,
        "attributeTags": {},
        "cancelable": true,
        "contractEndDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1736918426694,
        "createdBy": null,
        "deployDate": null,
        "ecix": false,
        "ixPeerMacro": null,
        "ix_peer_macro": null,
        "locationDetail": {
          "city": "Sydney",
          "country": "Australia",
          "metro": "Sydney",
          "name": "Equinix SY1"
        },
        "locationId": 2,
        "locationUid": null,
        "locked": false,
        "macAddress": "00:01:00:01:12:35",
        "networkServiceType": "Sydney IX",
        "productId": 225009,
        "productName": "GB. IX",
        "productType": "IX",
        "productUid": "c54d276e-f952-4ddf-a3c2-ecb68d84cfc0",
        "promoCode": null,
        "provisioningStatus": "LIVE",
        "publicGraph": true,
        "rateLimit": 10000,
        "secondaryName": null,
        "shutdown": false,
        "term": null,
        "up": true,
        "usageAlgorithm": "POST_PAID_HOURLY_SPEED_METRO_IX",
        "vlan": 639,
        "vxcDistanceBand": null
      }
    ],
    "associatedVxcs": [],
    "attributeTags": {},
    "buyoutPort": false,
    "cancelable": true,
    "companyName": "Megaport Lab",
    "companyUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
    "connectType": "DEFAULT",
    "contractEndDate": 1768399200000,
    "contractStartDate": 1736918460699,
    "contractTermMonths": 12,
    "createDate": 1736918425731,
    "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
    "crossConnectRequested": false,
    "diversityZone": "blue",
    "lagId": null,
    "lagPrimary": false,
    "liveDate": 1736918460664,
    "locationDetail": {
      "city": "Sydney",
      "country": "Australia",
      "metro": "Sydney",
      "name": "Equinix SY1"
    },
    "locationId": 2,
    "locked": false,
    "market": "AU",
    "marketplaceVisibility": false,
    "maxVxcSpeed": 100000,
    "portSpeed": 100000,
    "productId": 225008,
    "productName": "GB Port",
    "productType": "MEGAPORT",
    "productUid": "937d7bf8-2c2f-4654-92c4-35eaa6d41d01",
    "provisioningStatus": "LIVE",
    "resources": {
      "interface": {
        "demarcation": "Equinix SY1\n639 Gardeners Road, Mascot\nType: Single-mode Fibre Pair\nPorts: PPP:0519-A:1290103, ports 13+14\nTermination: LC connector\n",
        "loa_template": "megaport",
        "media": "LR4",
        "port_speed": 100000,
        "resource_name": "interface",
        "resource_type": "interface",
        "shutdown": false,
        "up": 1
      }
    },
    "secondaryName": null,
    "terminateDate": null,
    "up": true,
    "usageAlgorithm": "NOT_POST_PAID",
    "virtual": false,
    "vxcAutoApproval": false,
    "vxcPermitted": true
  },
  "message": "Producto encontrado 937d7bf8-2c2f-4654-92c4-35eaa6d41d01",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Get Product Details - Port
import requests

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

response = requests.get(url)

print(response.json())
```

```javascript Get Product Details - Port
const url = 'https://api.megaport.com/v2/product/productUid';
const options = {method: 'GET'};

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

```go Get Product Details - Port
package main

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

func main() {

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

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

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

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

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

}
```

```ruby Get Product Details - Port
require 'uri'
require 'net/http'

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

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

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

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

```java Get Product Details - Port
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

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

```php Get Product Details - Port
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

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

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

```csharp Get Product Details - Port
using RestSharp;

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

```swift Get Product Details - Port
import Foundation

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

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

### Get Product Details - Resource Tags for Port

**Response**

```json
{
  "data": {
    "resourceTags": [
      {
        "key": "var",
        "value": "50"
      },
      {
        "key": "ext",
        "value": "75"
      }
    ]
  },
  "message": "Etiquetas de recursos encontradas",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Get Product Details - Resource Tags for Port
import requests

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

response = requests.get(url)

print(response.json())
```

```javascript Get Product Details - Resource Tags for Port
const url = 'https://api.megaport.com/v2/product/productUid';
const options = {method: 'GET'};

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

```go Get Product Details - Resource Tags for Port
package main

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

func main() {

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

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

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

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

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

}
```

```ruby Get Product Details - Resource Tags for Port
require 'uri'
require 'net/http'

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

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

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

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

```java Get Product Details - Resource Tags for Port
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

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

```php Get Product Details - Resource Tags for Port
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

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

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

```csharp Get Product Details - Resource Tags for Port
using RestSharp;

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

```swift Get Product Details - Resource Tags for Port
import Foundation

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

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

### Get Product Details - VXC

**Response**

```json
{
  "data": {
    "aEnd": {
      "connectType": "DEFAULT",
      "diversityZone": "red",
      "innerVlan": null,
      "location": "CyrusOne Chandler",
      "locationDetail": {
        "city": "Phoenix",
        "country": "USA",
        "metro": "Phoenix",
        "name": "CyrusOne Chandler"
      },
      "locationId": 147,
      "ownerUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
      "productName": "ZW TEST",
      "productUid": "21be60a0-14c8-454f-9636-c6a3ad9f8447",
      "secondaryName": null,
      "vlan": 2612
    },
    "adminLocked": false,
    "attributeTags": {},
    "bEnd": {
      "connectType": "AWSHC",
      "diversityZone": "red",
      "innerVlan": null,
      "location": "PhoenixNAP",
      "locationDetail": {
        "city": "Phoenix",
        "country": "USA",
        "metro": "Phoenix",
        "name": "PhoenixNAP"
      },
      "locationId": 370,
      "ownerUid": "605cb850-dfb4-4a05-a171-8bf17757b3a2",
      "productName": "US West (N. California) (us-west-1)",
      "productUid": "d2b92be0-d85c-4ae5-b511-37c1cfe6e196",
      "secondaryName": null,
      "vlan": 2612
    },
    "cancelable": true,
    "companyName": "Megaport Lab",
    "companyUid": "160208ae-01e4-4cb9-8d57-03a197bd47a8",
    "contractEndDate": 1735912800000,
    "contractStartDate": 1733253865055,
    "contractTermMonths": 1,
    "createDate": 1733253767229,
    "createdBy": "cb9c4d7e-4cd2-4f6b-8f4e-89ab263e57e6",
    "distanceBand": "METRO",
    "liveDate": 1733253865042,
    "locked": false,
    "maximumRate": 10000,
    "productId": 220451,
    "productName": "WEST AWS",
    "productType": "VXC",
    "productUid": "9fbc4f9e-5f59-458e-bb95-6633e77ab131",
    "provisioningStatus": "LIVE",
    "rateLimit": 50,
    "resources": {
      "csp_connection": {
        "bandwidth": 50,
        "bandwidths": [
          50
        ],
        "connectType": "AWSHC",
        "connectionId": "dxcon-fftxgi4j",
        "name": "WEST AWS",
        "ownerAccount": "306069248856",
        "resource_name": "b_csp_connection",
        "resource_type": "csp_connection"
      },
      "vll": {
        "a_vlan": 2612,
        "b_vlan": 2612,
        "rate_limit_mbps": 50,
        "resource_name": "vll",
        "resource_type": "vll",
        "shutdown": false,
        "up": 1
      }
    },
    "secondaryName": null,
    "shutdown": false,
    "up": true,
    "usageAlgorithm": "POST_PAID_VARIABLE",
    "vxcApproval": {
      "message": null,
      "newSpeed": null,
      "status": null,
      "type": null,
      "uid": null
    }
  },
  "message": "Producto encontrado 9fbc4f9e-5f59-458e-bb95-6633e77ab131",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Get Product Details - VXC
import requests

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

response = requests.get(url)

print(response.json())
```

```javascript Get Product Details - VXC
const url = 'https://api.megaport.com/v2/product/productUid';
const options = {method: 'GET'};

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

```go Get Product Details - VXC
package main

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

func main() {

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

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

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

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

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

}
```

```ruby Get Product Details - VXC
require 'uri'
require 'net/http'

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

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

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

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

```java Get Product Details - VXC
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

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

```php Get Product Details - VXC
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

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

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

```csharp Get Product Details - VXC
using RestSharp;

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

```swift Get Product Details - VXC
import Foundation

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

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