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

# Comprar Port (v3)

POST https://api.megaport.com/v3/networkdesign/buy
Content-Type: application/json

Ordena el Puerto y envía la información al sistema de aprovisionamiento para su procesamiento. Esta solicitud confirma el pedido.

`promoCode` es una cadena opcional que se puede usar para ingresar un código promocional para el pedido de servicio. El código no se valida, por lo que si el código no existe o no funciona para el servicio, la llamada seguirá siendo exitosa.

Reference: https://es.megaport.ferndocs.com/es/api-reference/partner-api-for-managed-accounts/buy-port-v-3

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

### Headers

- `x-call-context` (string, optional)

### Body (application/json)

This endpoint expects a list of V3NetworkdesignBuyPostRequestBodyContentApplicationJsonSchemaItems.

- `list of V3NetworkdesignBuyPostRequestBodyContentApplicationJsonSchemaItems`

## Response

### 200

Comprar Puerto (v3) / Comprar Puerto (v3) / Comprar un LAG (v3) / Comprar un LAG (v3) / Comprar Puertos en un LAG existente (v3) / Comprar Puertos en un LAG existente (v3) / Comprar VXC (v3) / Comprar VXC (v3) - Contrato de 12 meses / Comprar VXC (v3) / Comprar VXC (v3) - Contrato de 12 meses / Crear VXC a SAP (v3) / Crear VXC a SAP (v3) / Comprar Internet Megaport (v3) / Comprar Internet Megaport (v3) / Crear VXC a 3DS Outscale (v3) / Crear VXC a 3DS Outscale (v3) / Comprar Conexión Alibaba (v3) / Comprar Conexión Alibaba (v3) / Comprar AWS - VIF alojado (v3) / Comprar AWS - VIF alojado (v3) / Comprar AWS - Conexión alojada (v3) / Comprar AWS - Conexión alojada (v3) / Crear VXC a Azure (v3) / Crear VXC a Azure (v3) / Crear VXC a Google Cloud (v3) / Crear VXC a Google Cloud (v3) / Crear VXC a IBM (v3) / Crear VXC a IBM (v3) / Crear VXC a Oracle (v3) / Comprar Puerto con VXC a Oracle (v3) / Comprar Puerto con VXC a Oracle (v3) / Crear VXC a Oracle (v3) / Crear VXC a Salesforce (v3) / Crear VXC a Salesforce (v3) / Crear VXC a SAP (v3) / Crear VXC a SAP (v3) / Comprar AWS - VIF alojado (v3) / Comprar AWS - VIF alojado (v3) / Crear VXC a Azure (v3) / Crear VXC a Azure (v3) / Crear VXC a Google Cloud (v3) / Crear VXC a Google Cloud (v3) / Comprar AWS - VIF alojado (v3) / Comprar AWS - VIF alojado (v3) / Comprar AWS - Conexión alojada (v3) / Comprar AWS - Conexión alojada (v3) / Crear VXC a Azure (v3) / Crear VXC a Azure (v3) / Crear VXC a Google Cloud (v3) / Crear VXC a Google Cloud (v3) / Comprar MCR (v3) / Comprar MCR (v3) / Comprar VXC para MCR (v3) / Comprar VXC para MCR (v3) / Comprar MVE - 6WIND VSR (v3) / Comprar MVE - 6WIND VSR (v3) / Comprar MVE - Aruba SD-WAN (v3) / Comprar MVE - ejemplo de vNIC (v3) / Comprar MVE - ejemplo de vNIC (v3) / Comprar MVE - Aruba SD-WAN (v3) / Comprar MVE - Aviatrix Secure Edge 2/8 (v3) / Comprar MVE - Aviatrix Secure Edge 8/32 (v3) / Comprar MVE - Aviatrix Secure Edge 2/8 (v3) / Comprar MVE - Aviatrix Secure Edge 8/32 (v3) / Comprar MVE - Cisco SD-WAN / Comprar MVE - Cisco con vNICs (v3) / Comprar MVE - Cisco con vNICs (v3) / Comprar MVE - Cisco SD-WAN / Comprar MVE - Cisco Secure Firewall Threat Defense Virtual (v3) / Comprar MVE - Cisco Secure Firewall Threat Defense Virtual (v3) / Comprar MVE - Fortinet Secure SD-WAN (v3) / Comprar MVE - Fortinet Secure SD-WAN con vNICs (v3) / Comprar MVE - Fortinet Secure SD-WAN (v3) / Comprar MVE - Fortinet Secure SD-WAN con vNICs (v3) / Comprar MVE - Palo Alto Prisma SD-WAN 3104v (v3) / Comprar MVE - Palo Alto Prisma SD-WAN 3108v (v3) / Comprar MVE - Palo Alto Prisma SD-WAN 7108v (v3) / Comprar MVE - Palo Alto Prisma SD-WAN 3104v (v3) / Comprar MVE - Palo Alto Prisma SD-WAN 7108v (v3) / Comprar MVE - Palo Alto Prisma SD-WAN 3108v (v3) / Comprar MVE - Palo Alto VM-Series NGFW (v3) / Comprar MVE - Comprar MVE - Palo Alto VM-Series NGFW con vNICs (v3) / Comprar MVE - Palo Alto VM-Series NGFW (v3) / Comprar MVE - Comprar MVE - Palo Alto VM-Series NGFW con vNICs (v3) / Comprar MVE - Peplink FusionHub (v3) / Comprar MVE - Peplink FusionHub (v3) - Con etiquetas de recursos / Comprar MVE - Peplink FusionHub (v3) - Con etiquetas de recursos / Comprar MVE - Peplink FusionHub (v3) / Comprar MVE - Versa SD-WAN (v3) / Comprar MVE - Versa SD-WAN con vNICs (v3) / Comprar MVE - Versa SD-WAN con vNICs (v3) / Comprar MVE - Versa SD-WAN (v3) / Comprar MVE - VMware SD-WAN (v3) / Comprar MVE - VMware SD-WAN (v3) / Comprar Internet Megaport (v3) / Comprar Internet Megaport con vNICs (v3) / Comprar Internet Megaport con vNICs (v3) / Comprar Internet Megaport (v3) / Comprar Internet Megaport Palo Alto (v3) / Comprar Internet Megaport Palo Alto (v3) / Comprar VXC para MVE (v3) / Comprar VXC para MVE (v3) / Comprar IX (v3) / Comprar IX (v3) / Comprar Puerto para Cuenta Administrada (v3) / Comprar Puerto para Cuenta Administrada (v3)

- `data` (list of V3NetworkdesignBuyPostResponsesContentApplicationJsonSchemaDataItems, optional)
- `message` (string, optional)
- `terms` (string, optional)

## Types

### V3NetworkdesignBuyPostRequestBodyContentApplicationJsonSchemaItems

- `costCentre` (string, optional)
- `createDate` (double, optional)
- `diversityZone` (string, optional)
- `locationId` (double, optional)
- `locationUid` (any, optional, nullable)
- `market` (string, optional)
- `portSpeed` (double, optional)
- `productName` (string, optional)
- `productType` (string, optional)
- `term` (double, optional)
- `virtual` (boolean, optional)

### V3NetworkdesignBuyPostResponsesContentApplicationJsonSchemaDataItems

- `aLocation` (string, optional)
- `aLocationId` (double, optional)
- `accountManager` (any, optional, nullable)
- `adminContactId` (any, optional, nullable)
- `adminContactName` (any, optional, nullable)
- `adminLocked` (boolean, optional)
- `aggregationId` (any, optional, nullable)
- `attributeTags` (V3NetworkdesignBuyPostResponsesContentApplicationJsonSchemaDataItemsAttributeTags, optional)
- `attributes` (list of any, optional)
- `bLocation` (any, optional, nullable)
- `bLocationId` (any, optional, nullable)
- `bgpShutdownDefault` (boolean, optional)
- `billableId` (double, optional)
- `billableUsageAlgorithm` (any, optional, nullable)
- `billingContactId` (any, optional, nullable)
- `billingContactName` (any, optional, nullable)
- `buyoutPort` (boolean, optional)
- `companyId` (double, optional)
- `companyName` (string, optional)
- `components` (list of any, optional)
- `configuredDate` (any, optional, nullable)
- `contractStartDate` (any, optional, nullable)
- `contractTermMonths` (double, optional)
- `costCentre` (string, 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)
- `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)
- `payerCompanyId` (any, optional, nullable)
- `productType` (string, optional)
- `promptUid` (any, optional, nullable)
- `provisioningItems` (list of any, optional)
- `provisioningStatus` (string, 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` (any, optional, nullable)
- `vxcPermitted` (boolean, optional)

### V3NetworkdesignBuyPostResponsesContentApplicationJsonSchemaDataItemsAttributeTags

## Examples

### Buy AWS - Hosted Connection (v3)

**Request**

```json
[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "innerVlan": 0
        },
        "bEnd": {
          "partnerConfig": {
            "connectType": "AWSHC",
            "name": "Example VXC",
            "ownerAccount": "{{AWSAccount}}"
          },
          "productUid": "026b1463-a91d-48e6-97c9-3c259f260012"
        },
        "productName": "awshc",
        "rateLimit": 100
      }
    ],
    "productUid": "02ec2091-46bb-4904-bd17-96c752ff826e"
  }
]
```

**Response**

```json
{
  "data": [
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1680242208512,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "salesId": null,
      "serviceName": "from greg T to Asia Pacific (Sydney) (ap-southeast-2) [DZ-BLUE]",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "AWSHC",
      "dealUid": {},
      "discountMonths": {},
      "distanceBand": "METRO",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": true,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": 1680242208492,
      "nonPayerApproverId": 50402,
      "nonPayerApproverName": "Greg Brown",
      "nonPayerCompanyName": "AWS",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 6,
      "nonPayerMegaPortId": 132573,
      "nonPayerMegaPortName": "Asia Pacific (Sydney) (ap-southeast-2) [DZ-BLUE]",
      "nonPayerMegaPortNsId": 326800,
      "nonPayerStatus": "APPROVED",
      "nonPayerVlanId": 0,
      "oracleVirtualCircuitId": {},
      "orderType": "NEW",
      "originDomain": {},
      "payerApproval": 1680242208455,
      "payerApproverId": 50402,
      "payerApproverName": "Greg Brown",
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": 0,
      "payerLocationId": 2,
      "payerMegaPortId": 155354,
      "payerMegaPortName": "greg T",
      "payerMegaPortNsId": 397416,
      "payerStatus": "APPROVED",
      "payerVlanId": 0,
      "promoCode": {},
      "provisionDate": 1680242208440,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": {},
      "serviceLicense": {},
      "setup": {},
      "speed": 100,
      "usageAlgorithm": "POST_PAID_HOURLY_SPEED_METRO_VXC",
      "vxc": {
        "aLocation": null,
        "aLocationId": null,
        "accountManager": null,
        "adminContactId": null,
        "adminContactName": null,
        "adminLocked": false,
        "attributeTags": {},
        "attributes": [],
        "bLocation": null,
        "bLocationId": null,
        "bgpShutdownDefault": false,
        "billableId": 147636,
        "billableUsageAlgorithm": null,
        "billingContactId": null,
        "billingContactName": null,
        "buyoutPort": null,
        "companyId": 1153,
        "companyName": "Megaport Lab",
        "components": [],
        "configuredDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1680242208482,
        "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
        "currentEstimatedDelivery": null,
        "errorMessage": null,
        "failedReason": null,
        "inAdvanceBillingStatus": null,
        "intercapPath": "",
        "locked": false,
        "market": "Australia",
        "marketplaceVisibility": true,
        "maximumSpeed": null,
        "minimumSpeed": null,
        "name": "awshc",
        "nonPayerCompanyId": null,
        "originDomain": null,
        "payerCompanyId": null,
        "productType": "VXC",
        "promptUid": null,
        "provisioningItems": [],
        "provisioningStatus": "DEPLOYABLE",
        "rateLimit": 100,
        "rateType": "MONTHLY",
        "requestedDate": 1680242208440,
        "salesId": null,
        "salesName": null,
        "secondaryName": null,
        "serviceName": "awshc",
        "tags": [],
        "technicalContactId": null,
        "technicalContactName": null,
        "technicalServiceId": 155731,
        "technicalServiceUid": "5a4d1803-3796-4144-ac35-c582d2f60b6f",
        "terminationDate": null,
        "trialAgreement": false,
        "virtual": false,
        "vxcAutoApproval": false,
        "vxcDistanceBand": "METRO",
        "vxcPermitted": true
      },
      "vxcJTechnicalServiceId": 155731,
      "vxcJTechnicalServiceUid": "5a4d1803-3796-4144-ac35-c582d2f60b6f",
      "vxcOrderId": 114013,
      "webAirProvItem": {}
    }
  ],
  "message": "VXC [5a4d1803-3796-4144-ac35-c582d2f60b6f] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy AWS - Hosted Connection (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "associatedVxcs": [
            {
                "aEnd": { "innerVlan": 0 },
                "bEnd": {
                    "partnerConfig": {
                        "connectType": "AWSHC",
                        "name": "Example VXC",
                        "ownerAccount": "{{AWSAccount}}"
                    },
                    "productUid": "026b1463-a91d-48e6-97c9-3c259f260012"
                },
                "productName": "awshc",
                "rateLimit": 100
            }
        ],
        "productUid": "02ec2091-46bb-4904-bd17-96c752ff826e"
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy AWS - Hosted Connection (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"associatedVxcs":[{"aEnd":{"innerVlan":0},"bEnd":{"partnerConfig":{"connectType":"AWSHC","name":"Example VXC","ownerAccount":"{{AWSAccount}}"},"productUid":"026b1463-a91d-48e6-97c9-3c259f260012"},"productName":"awshc","rateLimit":100}],"productUid":"02ec2091-46bb-4904-bd17-96c752ff826e"}]'
};

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

```go Buy AWS - Hosted Connection (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"innerVlan\": 0\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"connectType\": \"AWSHC\",\n            \"name\": \"Example VXC\",\n            \"ownerAccount\": \"{{AWSAccount}}\"\n          },\n          \"productUid\": \"026b1463-a91d-48e6-97c9-3c259f260012\"\n        },\n        \"productName\": \"awshc\",\n        \"rateLimit\": 100\n      }\n    ],\n    \"productUid\": \"02ec2091-46bb-4904-bd17-96c752ff826e\"\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy AWS - Hosted Connection (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"innerVlan\": 0\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"connectType\": \"AWSHC\",\n            \"name\": \"Example VXC\",\n            \"ownerAccount\": \"{{AWSAccount}}\"\n          },\n          \"productUid\": \"026b1463-a91d-48e6-97c9-3c259f260012\"\n        },\n        \"productName\": \"awshc\",\n        \"rateLimit\": 100\n      }\n    ],\n    \"productUid\": \"02ec2091-46bb-4904-bd17-96c752ff826e\"\n  }\n]"

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

```java Buy AWS - Hosted Connection (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"innerVlan\": 0\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"connectType\": \"AWSHC\",\n            \"name\": \"Example VXC\",\n            \"ownerAccount\": \"{{AWSAccount}}\"\n          },\n          \"productUid\": \"026b1463-a91d-48e6-97c9-3c259f260012\"\n        },\n        \"productName\": \"awshc\",\n        \"rateLimit\": 100\n      }\n    ],\n    \"productUid\": \"02ec2091-46bb-4904-bd17-96c752ff826e\"\n  }\n]")
  .asString();
```

```php Buy AWS - Hosted Connection (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "innerVlan": 0
        },
        "bEnd": {
          "partnerConfig": {
            "connectType": "AWSHC",
            "name": "Example VXC",
            "ownerAccount": "{{AWSAccount}}"
          },
          "productUid": "026b1463-a91d-48e6-97c9-3c259f260012"
        },
        "productName": "awshc",
        "rateLimit": 100
      }
    ],
    "productUid": "02ec2091-46bb-4904-bd17-96c752ff826e"
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy AWS - Hosted Connection (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"innerVlan\": 0\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"connectType\": \"AWSHC\",\n            \"name\": \"Example VXC\",\n            \"ownerAccount\": \"{{AWSAccount}}\"\n          },\n          \"productUid\": \"026b1463-a91d-48e6-97c9-3c259f260012\"\n        },\n        \"productName\": \"awshc\",\n        \"rateLimit\": 100\n      }\n    ],\n    \"productUid\": \"02ec2091-46bb-4904-bd17-96c752ff826e\"\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy AWS - Hosted Connection (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "associatedVxcs": [
      [
        "aEnd": ["innerVlan": 0],
        "bEnd": [
          "partnerConfig": [
            "connectType": "AWSHC",
            "name": "Example VXC",
            "ownerAccount": "{{AWSAccount}}"
          ],
          "productUid": "026b1463-a91d-48e6-97c9-3c259f260012"
        ],
        "productName": "awshc",
        "rateLimit": 100
      ]
    ],
    "productUid": "02ec2091-46bb-4904-bd17-96c752ff826e"
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy AWS - Hosted VIF (v3)

**Request**

```json
[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "innerVlan": 101
        },
        "bEnd": {
          "partnerConfig": {
            "Name": "Test Megaport VIF",
            "amazonIpAddress": null,
            "asn": 65105,
            "authKey": "123455",
            "connectType": "AWS",
            "customerIpAddress": null,
            "ownerAccount": "{{AWSAccount}}",
            "type": "private"
          },
          "productUid": "bc7bf158-532b-4306-af12-c57c0bedc8a6"
        },
        "productName": "Test AWS VIF MVE VXC",
        "rateLimit": "100"
      }
    ],
    "productUid": "02ec2091-46bb-4904-bd17-96c752ff826e"
  }
]
```

**Response**

```json
{
  "data": [
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1680239079646,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "salesId": null,
      "serviceName": "from greg T to Asia Pacific (Sydney) (ap-southeast-2)",
      "amazonDirectConnectConfigDto": {
        "amazonIpAddress": null,
        "asn": 65105,
        "authKey": "123455",
        "customerIpAddress": null,
        "name": null,
        "ownerAccount": "{{AWSAccount}}",
        "prefixes": null,
        "type": "private"
      },
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "AWS",
      "dealUid": {},
      "discountMonths": {},
      "distanceBand": "INTERZONE",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": true,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": 1680239079629,
      "nonPayerApproverId": 50402,
      "nonPayerApproverName": "Greg Brown",
      "nonPayerCompanyName": "AWS",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 50,
      "nonPayerMegaPortId": 12103,
      "nonPayerMegaPortName": "Asia Pacific (Sydney) (ap-southeast-2)",
      "nonPayerMegaPortNsId": 27443,
      "nonPayerStatus": "APPROVED",
      "nonPayerVlanId": 0,
      "oracleVirtualCircuitId": {},
      "orderType": "NEW",
      "originDomain": {},
      "payerApproval": 1680239079601,
      "payerApproverId": 50402,
      "payerApproverName": "Greg Brown",
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": 101,
      "payerLocationId": 2,
      "payerMegaPortId": 155354,
      "payerMegaPortName": "greg T",
      "payerMegaPortNsId": 397416,
      "payerStatus": "APPROVED",
      "payerVlanId": 0,
      "promoCode": {},
      "provisionDate": 1680239079588,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": {},
      "serviceLicense": {},
      "setup": {},
      "speed": 100,
      "usageAlgorithm": "POST_PAID_HOURLY_SPEED_LONG_HAUL_VXC",
      "vxc": {
        "aLocation": null,
        "aLocationId": null,
        "accountManager": null,
        "adminContactId": null,
        "adminContactName": null,
        "adminLocked": false,
        "attributeTags": {},
        "attributes": [],
        "bLocation": null,
        "bLocationId": null,
        "bgpShutdownDefault": false,
        "billableId": 147629,
        "billableUsageAlgorithm": null,
        "billingContactId": null,
        "billingContactName": null,
        "buyoutPort": null,
        "companyId": 1153,
        "companyName": "Megaport Lab",
        "components": [],
        "configuredDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1680239079620,
        "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
        "currentEstimatedDelivery": null,
        "errorMessage": null,
        "failedReason": null,
        "inAdvanceBillingStatus": null,
        "intercapPath": "",
        "locked": false,
        "market": "Australia",
        "marketplaceVisibility": true,
        "maximumSpeed": null,
        "minimumSpeed": null,
        "name": "Test AWS VIF MVE VXC",
        "nonPayerCompanyId": null,
        "originDomain": null,
        "payerCompanyId": null,
        "productType": "VXC",
        "promptUid": null,
        "provisioningItems": [],
        "provisioningStatus": "DEPLOYABLE",
        "rateLimit": 100,
        "rateType": "MONTHLY",
        "requestedDate": 1680239079588,
        "salesId": null,
        "salesName": null,
        "secondaryName": null,
        "serviceName": "Test AWS VIF MVE VXC",
        "tags": [],
        "technicalContactId": null,
        "technicalContactName": null,
        "technicalServiceId": 155724,
        "technicalServiceUid": "92e5c7d6-8d97-4ee3-bbf9-13e69b49517c",
        "terminationDate": null,
        "trialAgreement": false,
        "virtual": false,
        "vxcAutoApproval": false,
        "vxcDistanceBand": "INTERZONE",
        "vxcPermitted": true
      },
      "vxcJTechnicalServiceId": 155724,
      "vxcJTechnicalServiceUid": "92e5c7d6-8d97-4ee3-bbf9-13e69b49517c",
      "vxcOrderId": 114006,
      "webAirProvItem": {}
    }
  ],
  "message": "VXC [92e5c7d6-8d97-4ee3-bbf9-13e69b49517c] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy AWS - Hosted VIF (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "associatedVxcs": [
            {
                "aEnd": { "innerVlan": 101 },
                "bEnd": {
                    "partnerConfig": {
                        "Name": "Test Megaport VIF",
                        "amazonIpAddress": None,
                        "asn": 65105,
                        "authKey": "123455",
                        "connectType": "AWS",
                        "customerIpAddress": None,
                        "ownerAccount": "{{AWSAccount}}",
                        "type": "private"
                    },
                    "productUid": "bc7bf158-532b-4306-af12-c57c0bedc8a6"
                },
                "productName": "Test AWS VIF MVE VXC",
                "rateLimit": "100"
            }
        ],
        "productUid": "02ec2091-46bb-4904-bd17-96c752ff826e"
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy AWS - Hosted VIF (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"associatedVxcs":[{"aEnd":{"innerVlan":101},"bEnd":{"partnerConfig":{"Name":"Test Megaport VIF","amazonIpAddress":null,"asn":65105,"authKey":"123455","connectType":"AWS","customerIpAddress":null,"ownerAccount":"{{AWSAccount}}","type":"private"},"productUid":"bc7bf158-532b-4306-af12-c57c0bedc8a6"},"productName":"Test AWS VIF MVE VXC","rateLimit":"100"}],"productUid":"02ec2091-46bb-4904-bd17-96c752ff826e"}]'
};

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

```go Buy AWS - Hosted VIF (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"innerVlan\": 101\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"Name\": \"Test Megaport VIF\",\n            \"amazonIpAddress\": null,\n            \"asn\": 65105,\n            \"authKey\": \"123455\",\n            \"connectType\": \"AWS\",\n            \"customerIpAddress\": null,\n            \"ownerAccount\": \"{{AWSAccount}}\",\n            \"type\": \"private\"\n          },\n          \"productUid\": \"bc7bf158-532b-4306-af12-c57c0bedc8a6\"\n        },\n        \"productName\": \"Test AWS VIF MVE VXC\",\n        \"rateLimit\": \"100\"\n      }\n    ],\n    \"productUid\": \"02ec2091-46bb-4904-bd17-96c752ff826e\"\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy AWS - Hosted VIF (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"innerVlan\": 101\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"Name\": \"Test Megaport VIF\",\n            \"amazonIpAddress\": null,\n            \"asn\": 65105,\n            \"authKey\": \"123455\",\n            \"connectType\": \"AWS\",\n            \"customerIpAddress\": null,\n            \"ownerAccount\": \"{{AWSAccount}}\",\n            \"type\": \"private\"\n          },\n          \"productUid\": \"bc7bf158-532b-4306-af12-c57c0bedc8a6\"\n        },\n        \"productName\": \"Test AWS VIF MVE VXC\",\n        \"rateLimit\": \"100\"\n      }\n    ],\n    \"productUid\": \"02ec2091-46bb-4904-bd17-96c752ff826e\"\n  }\n]"

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

```java Buy AWS - Hosted VIF (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"innerVlan\": 101\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"Name\": \"Test Megaport VIF\",\n            \"amazonIpAddress\": null,\n            \"asn\": 65105,\n            \"authKey\": \"123455\",\n            \"connectType\": \"AWS\",\n            \"customerIpAddress\": null,\n            \"ownerAccount\": \"{{AWSAccount}}\",\n            \"type\": \"private\"\n          },\n          \"productUid\": \"bc7bf158-532b-4306-af12-c57c0bedc8a6\"\n        },\n        \"productName\": \"Test AWS VIF MVE VXC\",\n        \"rateLimit\": \"100\"\n      }\n    ],\n    \"productUid\": \"02ec2091-46bb-4904-bd17-96c752ff826e\"\n  }\n]")
  .asString();
```

```php Buy AWS - Hosted VIF (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "innerVlan": 101
        },
        "bEnd": {
          "partnerConfig": {
            "Name": "Test Megaport VIF",
            "amazonIpAddress": null,
            "asn": 65105,
            "authKey": "123455",
            "connectType": "AWS",
            "customerIpAddress": null,
            "ownerAccount": "{{AWSAccount}}",
            "type": "private"
          },
          "productUid": "bc7bf158-532b-4306-af12-c57c0bedc8a6"
        },
        "productName": "Test AWS VIF MVE VXC",
        "rateLimit": "100"
      }
    ],
    "productUid": "02ec2091-46bb-4904-bd17-96c752ff826e"
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy AWS - Hosted VIF (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"innerVlan\": 101\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"Name\": \"Test Megaport VIF\",\n            \"amazonIpAddress\": null,\n            \"asn\": 65105,\n            \"authKey\": \"123455\",\n            \"connectType\": \"AWS\",\n            \"customerIpAddress\": null,\n            \"ownerAccount\": \"{{AWSAccount}}\",\n            \"type\": \"private\"\n          },\n          \"productUid\": \"bc7bf158-532b-4306-af12-c57c0bedc8a6\"\n        },\n        \"productName\": \"Test AWS VIF MVE VXC\",\n        \"rateLimit\": \"100\"\n      }\n    ],\n    \"productUid\": \"02ec2091-46bb-4904-bd17-96c752ff826e\"\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy AWS - Hosted VIF (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "associatedVxcs": [
      [
        "aEnd": ["innerVlan": 101],
        "bEnd": [
          "partnerConfig": [
            "Name": "Test Megaport VIF",
            "amazonIpAddress": ,
            "asn": 65105,
            "authKey": "123455",
            "connectType": "AWS",
            "customerIpAddress": ,
            "ownerAccount": "{{AWSAccount}}",
            "type": "private"
          ],
          "productUid": "bc7bf158-532b-4306-af12-c57c0bedc8a6"
        ],
        "productName": "Test AWS VIF MVE VXC",
        "rateLimit": "100"
      ]
    ],
    "productUid": "02ec2091-46bb-4904-bd17-96c752ff826e"
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy Alibaba Connection (v3)

**Request**

```json
[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "vlan": 90
        },
        "bEnd": {
          "partnerConfig": {
            "connectType": "ALIBABA",
            "vbrOwnerId": "5234561292937849"
          },
          "productUid": "5a6fe1b5-17a3-4532-91af-7637c5f1dd18"
        },
        "productName": "Example Alibaba VXC",
        "rateLimit": 1000
      }
    ],
    "productUid": "6ad75113-01a3-427e-a499-795f14d89c8c"
  }
]
```

**Response**

```json
{
  "data": [
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1605725054592,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "salesId": null,
      "serviceName": "from My Brisbane Port to Alibaba Cloud (ap-southeast-1)",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "ALIBABA",
      "discountMonths": {},
      "distanceBand": "INTERZONE",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": true,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": 1605725054375,
      "nonPayerApproverId": 32278,
      "nonPayerApproverName": "Eric Akin",
      "nonPayerCompanyName": "Alibaba Cloud Computing Ltd",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 36,
      "nonPayerMegaPortId": 6072,
      "nonPayerMegaPortName": "Alibaba Cloud (ap-southeast-1)",
      "nonPayerMegaPortNsId": 12752,
      "nonPayerStatus": "APPROVED",
      "nonPayerVlanId": 0,
      "oracleVirtualCircuitId": {},
      "orderType": "NEW",
      "payerApproval": 1605725054369,
      "payerApproverId": 32278,
      "payerApproverName": "Eric Akin",
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": {},
      "payerLocationId": 3,
      "payerMegaPortId": 71262,
      "payerMegaPortName": "My Brisbane Port",
      "payerMegaPortNsId": 159793,
      "payerStatus": "APPROVED",
      "payerVlanId": 90,
      "promoCode": {},
      "provisionDate": 1605725054338,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": {},
      "setup": {},
      "speed": 1000,
      "usageAlgorithm": "POST_PAID_HOURLY_SPEED_LONG_HAUL_VXC",
      "vxcJTechnicalServiceId": 71263,
      "vxcJTechnicalServiceUid": "e93800a1-8ac2-45c4-afdc-073a1f788ae2",
      "vxcOrderId": 53078,
      "webAirProvItem": {}
    }
  ],
  "message": "VXC [e93800a1-8ac2-45c4-afdc-073a1f788ae2] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy Alibaba Connection (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "associatedVxcs": [
            {
                "aEnd": { "vlan": 90 },
                "bEnd": {
                    "partnerConfig": {
                        "connectType": "ALIBABA",
                        "vbrOwnerId": "5234561292937849"
                    },
                    "productUid": "5a6fe1b5-17a3-4532-91af-7637c5f1dd18"
                },
                "productName": "Example Alibaba VXC",
                "rateLimit": 1000
            }
        ],
        "productUid": "6ad75113-01a3-427e-a499-795f14d89c8c"
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy Alibaba Connection (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"associatedVxcs":[{"aEnd":{"vlan":90},"bEnd":{"partnerConfig":{"connectType":"ALIBABA","vbrOwnerId":"5234561292937849"},"productUid":"5a6fe1b5-17a3-4532-91af-7637c5f1dd18"},"productName":"Example Alibaba VXC","rateLimit":1000}],"productUid":"6ad75113-01a3-427e-a499-795f14d89c8c"}]'
};

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

```go Buy Alibaba Connection (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 90\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"connectType\": \"ALIBABA\",\n            \"vbrOwnerId\": \"5234561292937849\"\n          },\n          \"productUid\": \"5a6fe1b5-17a3-4532-91af-7637c5f1dd18\"\n        },\n        \"productName\": \"Example Alibaba VXC\",\n        \"rateLimit\": 1000\n      }\n    ],\n    \"productUid\": \"6ad75113-01a3-427e-a499-795f14d89c8c\"\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy Alibaba Connection (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 90\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"connectType\": \"ALIBABA\",\n            \"vbrOwnerId\": \"5234561292937849\"\n          },\n          \"productUid\": \"5a6fe1b5-17a3-4532-91af-7637c5f1dd18\"\n        },\n        \"productName\": \"Example Alibaba VXC\",\n        \"rateLimit\": 1000\n      }\n    ],\n    \"productUid\": \"6ad75113-01a3-427e-a499-795f14d89c8c\"\n  }\n]"

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

```java Buy Alibaba Connection (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 90\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"connectType\": \"ALIBABA\",\n            \"vbrOwnerId\": \"5234561292937849\"\n          },\n          \"productUid\": \"5a6fe1b5-17a3-4532-91af-7637c5f1dd18\"\n        },\n        \"productName\": \"Example Alibaba VXC\",\n        \"rateLimit\": 1000\n      }\n    ],\n    \"productUid\": \"6ad75113-01a3-427e-a499-795f14d89c8c\"\n  }\n]")
  .asString();
```

```php Buy Alibaba Connection (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "vlan": 90
        },
        "bEnd": {
          "partnerConfig": {
            "connectType": "ALIBABA",
            "vbrOwnerId": "5234561292937849"
          },
          "productUid": "5a6fe1b5-17a3-4532-91af-7637c5f1dd18"
        },
        "productName": "Example Alibaba VXC",
        "rateLimit": 1000
      }
    ],
    "productUid": "6ad75113-01a3-427e-a499-795f14d89c8c"
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy Alibaba Connection (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 90\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"connectType\": \"ALIBABA\",\n            \"vbrOwnerId\": \"5234561292937849\"\n          },\n          \"productUid\": \"5a6fe1b5-17a3-4532-91af-7637c5f1dd18\"\n        },\n        \"productName\": \"Example Alibaba VXC\",\n        \"rateLimit\": 1000\n      }\n    ],\n    \"productUid\": \"6ad75113-01a3-427e-a499-795f14d89c8c\"\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy Alibaba Connection (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "associatedVxcs": [
      [
        "aEnd": ["vlan": 90],
        "bEnd": [
          "partnerConfig": [
            "connectType": "ALIBABA",
            "vbrOwnerId": "5234561292937849"
          ],
          "productUid": "5a6fe1b5-17a3-4532-91af-7637c5f1dd18"
        ],
        "productName": "Example Alibaba VXC",
        "rateLimit": 1000
      ]
    ],
    "productUid": "6ad75113-01a3-427e-a499-795f14d89c8c"
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy IX (v3)

**Request**

```json
[
  {
    "associatedIxs": [
      {
        "asn": 12345,
        "macAddress": "00:11:22:33:44:55",
        "networkServiceType": "Los Angeles IX",
        "productName": "My LA IX",
        "rateLimit": 500,
        "vlan": 2001
      }
    ],
    "productUid": "a0f36688-48a7-4208-a58b-d965cb423694"
  }
]
```

**Response**

```json
{
  "data": [
    {
      "aLocation": "lax-cs1",
      "aLocationId": 60,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 69836,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": {},
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "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": "DEPLOYABLE",
      "rateLimit": 500,
      "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": null,
      "vxcPermitted": true,
      "publicGraph": true
    }
  ],
  "message": "IX [4fe74795-8b43-4252-a4c3-5c016985077b] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy IX (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "associatedIxs": [
            {
                "asn": 12345,
                "macAddress": "00:11:22:33:44:55",
                "networkServiceType": "Los Angeles IX",
                "productName": "My LA IX",
                "rateLimit": 500,
                "vlan": 2001
            }
        ],
        "productUid": "a0f36688-48a7-4208-a58b-d965cb423694"
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy IX (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"associatedIxs":[{"asn":12345,"macAddress":"00:11:22:33:44:55","networkServiceType":"Los Angeles IX","productName":"My LA IX","rateLimit":500,"vlan":2001}],"productUid":"a0f36688-48a7-4208-a58b-d965cb423694"}]'
};

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

```go Buy IX (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"associatedIxs\": [\n      {\n        \"asn\": 12345,\n        \"macAddress\": \"00:11:22:33:44:55\",\n        \"networkServiceType\": \"Los Angeles IX\",\n        \"productName\": \"My LA IX\",\n        \"rateLimit\": 500,\n        \"vlan\": 2001\n      }\n    ],\n    \"productUid\": \"a0f36688-48a7-4208-a58b-d965cb423694\"\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy IX (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"associatedIxs\": [\n      {\n        \"asn\": 12345,\n        \"macAddress\": \"00:11:22:33:44:55\",\n        \"networkServiceType\": \"Los Angeles IX\",\n        \"productName\": \"My LA IX\",\n        \"rateLimit\": 500,\n        \"vlan\": 2001\n      }\n    ],\n    \"productUid\": \"a0f36688-48a7-4208-a58b-d965cb423694\"\n  }\n]"

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

```java Buy IX (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"associatedIxs\": [\n      {\n        \"asn\": 12345,\n        \"macAddress\": \"00:11:22:33:44:55\",\n        \"networkServiceType\": \"Los Angeles IX\",\n        \"productName\": \"My LA IX\",\n        \"rateLimit\": 500,\n        \"vlan\": 2001\n      }\n    ],\n    \"productUid\": \"a0f36688-48a7-4208-a58b-d965cb423694\"\n  }\n]")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "associatedIxs": [
      {
        "asn": 12345,
        "macAddress": "00:11:22:33:44:55",
        "networkServiceType": "Los Angeles IX",
        "productName": "My LA IX",
        "rateLimit": 500,
        "vlan": 2001
      }
    ],
    "productUid": "a0f36688-48a7-4208-a58b-d965cb423694"
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy IX (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"associatedIxs\": [\n      {\n        \"asn\": 12345,\n        \"macAddress\": \"00:11:22:33:44:55\",\n        \"networkServiceType\": \"Los Angeles IX\",\n        \"productName\": \"My LA IX\",\n        \"rateLimit\": 500,\n        \"vlan\": 2001\n      }\n    ],\n    \"productUid\": \"a0f36688-48a7-4208-a58b-d965cb423694\"\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy IX (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "associatedIxs": [
      [
        "asn": 12345,
        "macAddress": "00:11:22:33:44:55",
        "networkServiceType": "Los Angeles IX",
        "productName": "My LA IX",
        "rateLimit": 500,
        "vlan": 2001
      ]
    ],
    "productUid": "a0f36688-48a7-4208-a58b-d965cb423694"
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy MCR (v3)

**Request**

```json
[
  {
    "locationId": 320,
    "portSpeed": 2500,
    "productName": "DCO-MEGA-RT-01",
    "productType": "MCR2",
    "term": 1,
    "addOns": {
      "addOnType": "IP_SEC",
      "tunnelCount": 10
    },
    "config": {
      "diversityZone": "red",
      "mcrAsn": 133937
    }
  }
]
```

**Response**

```json
{
  "data": [
    {
      "aLocation": "den-cs1",
      "aLocationId": 320,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 119244,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 1,
      "createDate": 1654810720930,
      "createdBy": "6223425b-e19c-4337-85e6-dffaac81350c",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": false,
      "locked": false,
      "market": "USA",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "DCO-MEGA-RT-01",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MCR2",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": 2500,
      "rateType": "MONTHLY",
      "requestedDate": 1654810720930,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "DCO-MEGA-RT-01",
      "tags": [],
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 124222,
      "technicalServiceUid": "38409ffc-d2d6-4b09-bfaa-0710c94ae4b4",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": true,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true
    }
  ],
  "message": "MCR2 [38409ffc-d2d6-4b09-bfaa-0710c94ae4b4] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MCR (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "locationId": 320,
        "portSpeed": 2500,
        "productName": "DCO-MEGA-RT-01",
        "productType": "MCR2",
        "term": 1,
        "addOns": {
            "addOnType": "IP_SEC",
            "tunnelCount": 10
        },
        "config": {
            "diversityZone": "red",
            "mcrAsn": 133937
        }
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy MCR (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"locationId":320,"portSpeed":2500,"productName":"DCO-MEGA-RT-01","productType":"MCR2","term":1,"addOns":{"addOnType":"IP_SEC","tunnelCount":10},"config":{"diversityZone":"red","mcrAsn":133937}}]'
};

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

```go Buy MCR (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"locationId\": 320,\n    \"portSpeed\": 2500,\n    \"productName\": \"DCO-MEGA-RT-01\",\n    \"productType\": \"MCR2\",\n    \"term\": 1,\n    \"addOns\": {\n      \"addOnType\": \"IP_SEC\",\n      \"tunnelCount\": 10\n    },\n    \"config\": {\n      \"diversityZone\": \"red\",\n      \"mcrAsn\": 133937\n    }\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy MCR (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"locationId\": 320,\n    \"portSpeed\": 2500,\n    \"productName\": \"DCO-MEGA-RT-01\",\n    \"productType\": \"MCR2\",\n    \"term\": 1,\n    \"addOns\": {\n      \"addOnType\": \"IP_SEC\",\n      \"tunnelCount\": 10\n    },\n    \"config\": {\n      \"diversityZone\": \"red\",\n      \"mcrAsn\": 133937\n    }\n  }\n]"

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

```java Buy MCR (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"locationId\": 320,\n    \"portSpeed\": 2500,\n    \"productName\": \"DCO-MEGA-RT-01\",\n    \"productType\": \"MCR2\",\n    \"term\": 1,\n    \"addOns\": {\n      \"addOnType\": \"IP_SEC\",\n      \"tunnelCount\": 10\n    },\n    \"config\": {\n      \"diversityZone\": \"red\",\n      \"mcrAsn\": 133937\n    }\n  }\n]")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "locationId": 320,
    "portSpeed": 2500,
    "productName": "DCO-MEGA-RT-01",
    "productType": "MCR2",
    "term": 1,
    "addOns": {
      "addOnType": "IP_SEC",
      "tunnelCount": 10
    },
    "config": {
      "diversityZone": "red",
      "mcrAsn": 133937
    }
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy MCR (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"locationId\": 320,\n    \"portSpeed\": 2500,\n    \"productName\": \"DCO-MEGA-RT-01\",\n    \"productType\": \"MCR2\",\n    \"term\": 1,\n    \"addOns\": {\n      \"addOnType\": \"IP_SEC\",\n      \"tunnelCount\": 10\n    },\n    \"config\": {\n      \"diversityZone\": \"red\",\n      \"mcrAsn\": 133937\n    }\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy MCR (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "locationId": 320,
    "portSpeed": 2500,
    "productName": "DCO-MEGA-RT-01",
    "productType": "MCR2",
    "term": 1,
    "addOns": [
      "addOnType": "IP_SEC",
      "tunnelCount": 10
    ],
    "config": [
      "diversityZone": "red",
      "mcrAsn": 133937
    ]
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy MVE - 6WIND VSR (v3)

**Request**

```json
[
  {
    "locationId": 23,
    "productName": "6WIND VSR MVE Test",
    "productType": "MVE",
    "term": 12,
    "config": {
      "diversityZone": "blue"
    },
    "promoCode": "promox3mnthfree2",
    "vendorConfig": {
      "imageId": 75,
      "mveLabel": "MVE 8/32",
      "sshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q== schacon@mylaptop.local"
    },
    "vnics": [
      {
        "description": "Plano de Datos 1"
      },
      {
        "description": null
      },
      {
        "description": "vNIC 3"
      },
      {
        "description": "vNIC 4"
      },
      {
        "description": null
      }
    ]
  }
]
```

**Response**

```json
{
  "data": [
    {
      "aLocation": "mel-mdc",
      "aLocationId": 23,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 206076,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 12,
      "createDate": 1728893461037,
      "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": {},
      "locked": false,
      "market": "Australia",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "6WIND VSR MVE Test",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MVE",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": {},
      "rateType": "MONTHLY",
      "requestedDate": 1728893461037,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "6WIND VSR MVE Test",
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 214611,
      "technicalServiceUid": "e97da666-a4ed-4d35-ad64-3a7d1f18573e",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "aCountry": "Australia",
      "aMetro": "Melbourne",
      "bCountry": {},
      "bMetro": {},
      "lagId": {},
      "mveSize": "LARGE",
      "originDomain": {},
      "vendor": "6WIND"
    }
  ],
  "message": "MVE [e97da666-a4ed-4d35-ad64-3a7d1f18573e] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - 6WIND VSR (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "locationId": 23,
        "productName": "6WIND VSR MVE Test",
        "productType": "MVE",
        "term": 12,
        "config": { "diversityZone": "blue" },
        "promoCode": "promox3mnthfree2",
        "vendorConfig": {
            "imageId": 75,
            "mveLabel": "MVE 8/32",
            "sshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q== schacon@mylaptop.local"
        },
        "vnics": [{ "description": "Plano de Datos 1" }, { "description": None }, { "description": "vNIC 3" }, { "description": "vNIC 4" }, { "description": None }]
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy MVE - 6WIND VSR (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"locationId":23,"productName":"6WIND VSR MVE Test","productType":"MVE","term":12,"config":{"diversityZone":"blue"},"promoCode":"promox3mnthfree2","vendorConfig":{"imageId":75,"mveLabel":"MVE 8/32","sshPublicKey":"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q== schacon@mylaptop.local"},"vnics":[{"description":"Plano de Datos 1"},{"description":null},{"description":"vNIC 3"},{"description":"vNIC 4"},{"description":null}]}]'
};

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

```go Buy MVE - 6WIND VSR (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"locationId\": 23,\n    \"productName\": \"6WIND VSR MVE Test\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"config\": {\n      \"diversityZone\": \"blue\"\n    },\n    \"promoCode\": \"promox3mnthfree2\",\n    \"vendorConfig\": {\n      \"imageId\": 75,\n      \"mveLabel\": \"MVE 8/32\",\n      \"sshPublicKey\": \"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q== schacon@mylaptop.local\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Plano de Datos 1\"\n      },\n      {\n        \"description\": null\n      },\n      {\n        \"description\": \"vNIC 3\"\n      },\n      {\n        \"description\": \"vNIC 4\"\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy MVE - 6WIND VSR (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"locationId\": 23,\n    \"productName\": \"6WIND VSR MVE Test\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"config\": {\n      \"diversityZone\": \"blue\"\n    },\n    \"promoCode\": \"promox3mnthfree2\",\n    \"vendorConfig\": {\n      \"imageId\": 75,\n      \"mveLabel\": \"MVE 8/32\",\n      \"sshPublicKey\": \"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q== schacon@mylaptop.local\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Plano de Datos 1\"\n      },\n      {\n        \"description\": null\n      },\n      {\n        \"description\": \"vNIC 3\"\n      },\n      {\n        \"description\": \"vNIC 4\"\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]"

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

```java Buy MVE - 6WIND VSR (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"locationId\": 23,\n    \"productName\": \"6WIND VSR MVE Test\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"config\": {\n      \"diversityZone\": \"blue\"\n    },\n    \"promoCode\": \"promox3mnthfree2\",\n    \"vendorConfig\": {\n      \"imageId\": 75,\n      \"mveLabel\": \"MVE 8/32\",\n      \"sshPublicKey\": \"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q== schacon@mylaptop.local\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Plano de Datos 1\"\n      },\n      {\n        \"description\": null\n      },\n      {\n        \"description\": \"vNIC 3\"\n      },\n      {\n        \"description\": \"vNIC 4\"\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]")
  .asString();
```

```php Buy MVE - 6WIND VSR (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "locationId": 23,
    "productName": "6WIND VSR MVE Test",
    "productType": "MVE",
    "term": 12,
    "config": {
      "diversityZone": "blue"
    },
    "promoCode": "promox3mnthfree2",
    "vendorConfig": {
      "imageId": 75,
      "mveLabel": "MVE 8/32",
      "sshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q== schacon@mylaptop.local"
    },
    "vnics": [
      {
        "description": "Plano de Datos 1"
      },
      {
        "description": null
      },
      {
        "description": "vNIC 3"
      },
      {
        "description": "vNIC 4"
      },
      {
        "description": null
      }
    ]
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy MVE - 6WIND VSR (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"locationId\": 23,\n    \"productName\": \"6WIND VSR MVE Test\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"config\": {\n      \"diversityZone\": \"blue\"\n    },\n    \"promoCode\": \"promox3mnthfree2\",\n    \"vendorConfig\": {\n      \"imageId\": 75,\n      \"mveLabel\": \"MVE 8/32\",\n      \"sshPublicKey\": \"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q== schacon@mylaptop.local\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Plano de Datos 1\"\n      },\n      {\n        \"description\": null\n      },\n      {\n        \"description\": \"vNIC 3\"\n      },\n      {\n        \"description\": \"vNIC 4\"\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - 6WIND VSR (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "locationId": 23,
    "productName": "6WIND VSR MVE Test",
    "productType": "MVE",
    "term": 12,
    "config": ["diversityZone": "blue"],
    "promoCode": "promox3mnthfree2",
    "vendorConfig": [
      "imageId": 75,
      "mveLabel": "MVE 8/32",
      "sshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSUGPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XAt3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/EnmZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbxNrRFi9wrf+M7Q== schacon@mylaptop.local"
    ],
    "vnics": [["description": "Plano de Datos 1"], ["description": ], ["description": "vNIC 3"], ["description": "vNIC 4"], ["description": ]]
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy MVE - Aruba SD-WAN (v3)

**Request**

```json
[
  {
    "locationId": 88,
    "productName": "Test Aruba MVE",
    "productType": "MVE",
    "term": 12,
    "vendorConfig": {
      "accountKey": "My account key",
      "accountName": "My account name",
      "imageId": 23,
      "mveLabel": "MVE 4/16",
      "systemTag": "My tag",
      "vendor": "ARUBA"
    }
  }
]
```

**Response**

```json
{
  "data": [
    {
      "aLocation": "lon-gs1",
      "aLocationId": 88,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 142531,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 12,
      "createDate": 1678219169598,
      "createdBy": "a30f6ea7-f94d-4032-8000-db6c3694ac3d",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "locked": false,
      "market": "UK",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "Test Aruba MVE",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MVE",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": {},
      "rateType": "MONTHLY",
      "requestedDate": 1678219169598,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "Test Aruba MVE",
      "tags": [],
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 150129,
      "technicalServiceUid": "67fe4244-ebf3-49a2-a2f5-226829024289",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "mveSize": "SMALL",
      "originDomain": {},
      "vendor": "ARUBA"
    }
  ],
  "message": "MVE [67fe4244-ebf3-49a2-a2f5-226829024289] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - Aruba SD-WAN (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "locationId": 88,
        "productName": "Test Aruba MVE",
        "productType": "MVE",
        "term": 12,
        "vendorConfig": {
            "accountKey": "My account key",
            "accountName": "My account name",
            "imageId": 23,
            "mveLabel": "MVE 4/16",
            "systemTag": "My tag",
            "vendor": "ARUBA"
        }
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy MVE - Aruba SD-WAN (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"locationId":88,"productName":"Test Aruba MVE","productType":"MVE","term":12,"vendorConfig":{"accountKey":"My account key","accountName":"My account name","imageId":23,"mveLabel":"MVE 4/16","systemTag":"My tag","vendor":"ARUBA"}}]'
};

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

```go Buy MVE - Aruba SD-WAN (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"locationId\": 88,\n    \"productName\": \"Test Aruba MVE\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"vendorConfig\": {\n      \"accountKey\": \"My account key\",\n      \"accountName\": \"My account name\",\n      \"imageId\": 23,\n      \"mveLabel\": \"MVE 4/16\",\n      \"systemTag\": \"My tag\",\n      \"vendor\": \"ARUBA\"\n    }\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy MVE - Aruba SD-WAN (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"locationId\": 88,\n    \"productName\": \"Test Aruba MVE\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"vendorConfig\": {\n      \"accountKey\": \"My account key\",\n      \"accountName\": \"My account name\",\n      \"imageId\": 23,\n      \"mveLabel\": \"MVE 4/16\",\n      \"systemTag\": \"My tag\",\n      \"vendor\": \"ARUBA\"\n    }\n  }\n]"

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

```java Buy MVE - Aruba SD-WAN (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"locationId\": 88,\n    \"productName\": \"Test Aruba MVE\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"vendorConfig\": {\n      \"accountKey\": \"My account key\",\n      \"accountName\": \"My account name\",\n      \"imageId\": 23,\n      \"mveLabel\": \"MVE 4/16\",\n      \"systemTag\": \"My tag\",\n      \"vendor\": \"ARUBA\"\n    }\n  }\n]")
  .asString();
```

```php Buy MVE - Aruba SD-WAN (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "locationId": 88,
    "productName": "Test Aruba MVE",
    "productType": "MVE",
    "term": 12,
    "vendorConfig": {
      "accountKey": "My account key",
      "accountName": "My account name",
      "imageId": 23,
      "mveLabel": "MVE 4/16",
      "systemTag": "My tag",
      "vendor": "ARUBA"
    }
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy MVE - Aruba SD-WAN (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"locationId\": 88,\n    \"productName\": \"Test Aruba MVE\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"vendorConfig\": {\n      \"accountKey\": \"My account key\",\n      \"accountName\": \"My account name\",\n      \"imageId\": 23,\n      \"mveLabel\": \"MVE 4/16\",\n      \"systemTag\": \"My tag\",\n      \"vendor\": \"ARUBA\"\n    }\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - Aruba SD-WAN (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "locationId": 88,
    "productName": "Test Aruba MVE",
    "productType": "MVE",
    "term": 12,
    "vendorConfig": [
      "accountKey": "My account key",
      "accountName": "My account name",
      "imageId": 23,
      "mveLabel": "MVE 4/16",
      "systemTag": "My tag",
      "vendor": "ARUBA"
    ]
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy MVE - Aviatrix Secure Edge 2/8 (v3)

**Response**

```json
{
  "data": [
    {
      "aLocation": "mel-mdc",
      "aLocationId": 23,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 206055,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 12,
      "createDate": 1728955803730,
      "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": {},
      "locked": false,
      "market": "Australia",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "Aviatrix Example",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MVE",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": {},
      "rateType": "MONTHLY",
      "requestedDate": 1728955803730,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "Aviatrix Example",
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 214580,
      "technicalServiceUid": "53d53d8d-2d05-444e-829f-aa206ed29da0",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "aCountry": "Australia",
      "aMetro": "Melbourne",
      "bCountry": {},
      "bMetro": {},
      "lagId": {},
      "mveSize": "SMALL",
      "originDomain": {},
      "vendor": "AVIATRIX"
    }
  ],
  "message": "MVE [53d53d8d-2d05-444e-829f-aa206ed29da0] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - Aviatrix Secure Edge 2/8 (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

response = requests.post(url)

print(response.json())
```

```javascript Buy MVE - Aviatrix Secure Edge 2/8 (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {method: 'POST'};

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

```go Buy MVE - Aviatrix Secure Edge 2/8 (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

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

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

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

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

}
```

```ruby Buy MVE - Aviatrix Secure Edge 2/8 (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

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

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

```java Buy MVE - Aviatrix Secure Edge 2/8 (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .asString();
```

```php Buy MVE - Aviatrix Secure Edge 2/8 (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy');

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

```csharp Buy MVE - Aviatrix Secure Edge 2/8 (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - Aviatrix Secure Edge 2/8 (v3)
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

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

### Buy MVE - Aviatrix Secure Edge 8/32 (v3)

**Response**

```json
{
  "data": [
    {
      "aLocation": "mel-mdc",
      "aLocationId": 23,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 206056,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 24,
      "createDate": 1728956126728,
      "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": {},
      "locked": false,
      "market": "Australia",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "Aviatrix Example 8/32",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MVE",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": {},
      "rateType": "MONTHLY",
      "requestedDate": 1728956126728,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "Aviatrix Example 8/32",
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 214581,
      "technicalServiceUid": "e38fd20d-b7a1-4a05-b0d5-737168814128",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "aCountry": "Australia",
      "aMetro": "Melbourne",
      "bCountry": {},
      "bMetro": {},
      "lagId": {},
      "mveSize": "LARGE",
      "originDomain": {},
      "vendor": "AVIATRIX"
    }
  ],
  "message": "MVE [e38fd20d-b7a1-4a05-b0d5-737168814128] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - Aviatrix Secure Edge 8/32 (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

response = requests.post(url)

print(response.json())
```

```javascript Buy MVE - Aviatrix Secure Edge 8/32 (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {method: 'POST'};

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

```go Buy MVE - Aviatrix Secure Edge 8/32 (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

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

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

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

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

}
```

```ruby Buy MVE - Aviatrix Secure Edge 8/32 (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

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

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

```java Buy MVE - Aviatrix Secure Edge 8/32 (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .asString();
```

```php Buy MVE - Aviatrix Secure Edge 8/32 (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy');

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

```csharp Buy MVE - Aviatrix Secure Edge 8/32 (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - Aviatrix Secure Edge 8/32 (v3)
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

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

### Buy MVE - Buy MVE - Palo Alto VM-Series NGFW with vNICs (v3)

**Response**

```json
{
  "data": [
    {
      "aLocation": "lon-gs1",
      "aLocationId": 88,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 165239,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 12,
      "createDate": 1695023565788,
      "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": {},
      "locked": false,
      "market": "UK",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "Test Palo Alto MVE",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MVE",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": {},
      "rateType": "MONTHLY",
      "requestedDate": 1695023565788,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "Test Palo Alto MVE",
      "tags": [],
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 173378,
      "technicalServiceUid": "1f8fb1d4-ebaf-4ae4-a44e-0ac2bec3ed82",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "aCountry": "United Kingdom",
      "aMetro": "London",
      "bCountry": {},
      "bMetro": {},
      "lagId": {},
      "mveSize": "SMALL",
      "originDomain": {},
      "vendor": "PALO_ALTO"
    }
  ],
  "message": "MVE [1f8fb1d4-ebaf-4ae4-a44e-0ac2bec3ed82] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - Buy MVE - Palo Alto VM-Series NGFW with vNICs (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

response = requests.post(url)

print(response.json())
```

```javascript Buy MVE - Buy MVE - Palo Alto VM-Series NGFW with vNICs (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {method: 'POST'};

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

```go Buy MVE - Buy MVE - Palo Alto VM-Series NGFW with vNICs (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

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

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

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

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

}
```

```ruby Buy MVE - Buy MVE - Palo Alto VM-Series NGFW with vNICs (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

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

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

```java Buy MVE - Buy MVE - Palo Alto VM-Series NGFW with vNICs (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .asString();
```

```php Buy MVE - Buy MVE - Palo Alto VM-Series NGFW with vNICs (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy');

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

```csharp Buy MVE - Buy MVE - Palo Alto VM-Series NGFW with vNICs (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - Buy MVE - Palo Alto VM-Series NGFW with vNICs (v3)
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

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

### Buy MVE - Cisco SD-WAN

**Response**

```json
{
  "data": [
    {
      "aLocation": "ams-tc5",
      "aLocationId": 87,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 196554,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 12,
      "createDate": 1721712190331,
      "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": {},
      "locked": false,
      "market": "Netherlands",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "Test Cisco Mve",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MVE",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": {},
      "rateType": "MONTHLY",
      "requestedDate": 1721712190331,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "Test Cisco Mve",
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 205055,
      "technicalServiceUid": "1ac5eb8f-86a6-4cad-aaf1-e5b3f57b2032",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "aCountry": "Netherlands",
      "aMetro": "Amsterdam",
      "bCountry": {},
      "bMetro": {},
      "lagId": {},
      "mveSize": "SMALL",
      "originDomain": {},
      "vendor": "CISCO"
    }
  ],
  "message": "MVE [1ac5eb8f-86a6-4cad-aaf1-e5b3f57b2032] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - Cisco SD-WAN
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

response = requests.post(url)

print(response.json())
```

```javascript Buy MVE - Cisco SD-WAN
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {method: 'POST'};

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

```go Buy MVE - Cisco SD-WAN
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

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

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

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

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

}
```

```ruby Buy MVE - Cisco SD-WAN
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

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

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

```java Buy MVE - Cisco SD-WAN
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .asString();
```

```php Buy MVE - Cisco SD-WAN
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy');

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

```csharp Buy MVE - Cisco SD-WAN
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - Cisco SD-WAN
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

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

### Buy MVE - Cisco Secure Firewall Threat Defense Virtual (v3)

**Request**

```json
[
  {
    "locationId": 2,
    "portSpeed": 1000,
    "productName": "Cisco FTDv Test",
    "productType": "MVE",
    "associatedIxs": [],
    "associatedVxcs": [],
    "buyoutPort": false,
    "vendorConfig": {
      "adminPassword": "123456789",
      "fmcIpAddress": "2001:0000:130F:0000:0000:09C0:876A:130B",
      "fmcNatId": "123456789",
      "fmcRegistrationKey": "123456789",
      "imageId": 71,
      "manageLocally": false,
      "mveLabel": "MVE 8/32"
    }
  }
]
```

**Response**

```json
{
  "data": [
    {
      "aLocation": "syd-sy1",
      "aLocationId": 2,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 196073,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 1,
      "createDate": 1721369011236,
      "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": {},
      "locked": false,
      "market": "Australia",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "Cisco FTDv Test",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MVE",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": 1000,
      "rateType": "MONTHLY",
      "requestedDate": 1721369011236,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "Cisco FTDv Test",
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 204567,
      "technicalServiceUid": "b4e0e7c7-5c6d-455e-a67f-65d061b4aa99",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "aCountry": "Australia",
      "aMetro": "Sydney",
      "bCountry": {},
      "bMetro": {},
      "lagId": {},
      "mveSize": "MEDIUM",
      "originDomain": {},
      "vendor": "CISCO"
    }
  ],
  "message": "MVE [b4e0e7c7-5c6d-455e-a67f-65d061b4aa99] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - Cisco Secure Firewall Threat Defense Virtual (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "locationId": 2,
        "portSpeed": 1000,
        "productName": "Cisco FTDv Test",
        "productType": "MVE",
        "associatedIxs": [],
        "associatedVxcs": [],
        "buyoutPort": False,
        "vendorConfig": {
            "adminPassword": "123456789",
            "fmcIpAddress": "2001:0000:130F:0000:0000:09C0:876A:130B",
            "fmcNatId": "123456789",
            "fmcRegistrationKey": "123456789",
            "imageId": 71,
            "manageLocally": False,
            "mveLabel": "MVE 8/32"
        }
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy MVE - Cisco Secure Firewall Threat Defense Virtual (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"locationId":2,"portSpeed":1000,"productName":"Cisco FTDv Test","productType":"MVE","associatedIxs":[],"associatedVxcs":[],"buyoutPort":false,"vendorConfig":{"adminPassword":"123456789","fmcIpAddress":"2001:0000:130F:0000:0000:09C0:876A:130B","fmcNatId":"123456789","fmcRegistrationKey":"123456789","imageId":71,"manageLocally":false,"mveLabel":"MVE 8/32"}}]'
};

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

```go Buy MVE - Cisco Secure Firewall Threat Defense Virtual (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"locationId\": 2,\n    \"portSpeed\": 1000,\n    \"productName\": \"Cisco FTDv Test\",\n    \"productType\": \"MVE\",\n    \"associatedIxs\": [],\n    \"associatedVxcs\": [],\n    \"buyoutPort\": false,\n    \"vendorConfig\": {\n      \"adminPassword\": \"123456789\",\n      \"fmcIpAddress\": \"2001:0000:130F:0000:0000:09C0:876A:130B\",\n      \"fmcNatId\": \"123456789\",\n      \"fmcRegistrationKey\": \"123456789\",\n      \"imageId\": 71,\n      \"manageLocally\": false,\n      \"mveLabel\": \"MVE 8/32\"\n    }\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy MVE - Cisco Secure Firewall Threat Defense Virtual (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"locationId\": 2,\n    \"portSpeed\": 1000,\n    \"productName\": \"Cisco FTDv Test\",\n    \"productType\": \"MVE\",\n    \"associatedIxs\": [],\n    \"associatedVxcs\": [],\n    \"buyoutPort\": false,\n    \"vendorConfig\": {\n      \"adminPassword\": \"123456789\",\n      \"fmcIpAddress\": \"2001:0000:130F:0000:0000:09C0:876A:130B\",\n      \"fmcNatId\": \"123456789\",\n      \"fmcRegistrationKey\": \"123456789\",\n      \"imageId\": 71,\n      \"manageLocally\": false,\n      \"mveLabel\": \"MVE 8/32\"\n    }\n  }\n]"

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

```java Buy MVE - Cisco Secure Firewall Threat Defense Virtual (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"locationId\": 2,\n    \"portSpeed\": 1000,\n    \"productName\": \"Cisco FTDv Test\",\n    \"productType\": \"MVE\",\n    \"associatedIxs\": [],\n    \"associatedVxcs\": [],\n    \"buyoutPort\": false,\n    \"vendorConfig\": {\n      \"adminPassword\": \"123456789\",\n      \"fmcIpAddress\": \"2001:0000:130F:0000:0000:09C0:876A:130B\",\n      \"fmcNatId\": \"123456789\",\n      \"fmcRegistrationKey\": \"123456789\",\n      \"imageId\": 71,\n      \"manageLocally\": false,\n      \"mveLabel\": \"MVE 8/32\"\n    }\n  }\n]")
  .asString();
```

```php Buy MVE - Cisco Secure Firewall Threat Defense Virtual (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "locationId": 2,
    "portSpeed": 1000,
    "productName": "Cisco FTDv Test",
    "productType": "MVE",
    "associatedIxs": [],
    "associatedVxcs": [],
    "buyoutPort": false,
    "vendorConfig": {
      "adminPassword": "123456789",
      "fmcIpAddress": "2001:0000:130F:0000:0000:09C0:876A:130B",
      "fmcNatId": "123456789",
      "fmcRegistrationKey": "123456789",
      "imageId": 71,
      "manageLocally": false,
      "mveLabel": "MVE 8/32"
    }
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy MVE - Cisco Secure Firewall Threat Defense Virtual (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"locationId\": 2,\n    \"portSpeed\": 1000,\n    \"productName\": \"Cisco FTDv Test\",\n    \"productType\": \"MVE\",\n    \"associatedIxs\": [],\n    \"associatedVxcs\": [],\n    \"buyoutPort\": false,\n    \"vendorConfig\": {\n      \"adminPassword\": \"123456789\",\n      \"fmcIpAddress\": \"2001:0000:130F:0000:0000:09C0:876A:130B\",\n      \"fmcNatId\": \"123456789\",\n      \"fmcRegistrationKey\": \"123456789\",\n      \"imageId\": 71,\n      \"manageLocally\": false,\n      \"mveLabel\": \"MVE 8/32\"\n    }\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - Cisco Secure Firewall Threat Defense Virtual (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "locationId": 2,
    "portSpeed": 1000,
    "productName": "Cisco FTDv Test",
    "productType": "MVE",
    "associatedIxs": [],
    "associatedVxcs": [],
    "buyoutPort": false,
    "vendorConfig": [
      "adminPassword": "123456789",
      "fmcIpAddress": "2001:0000:130F:0000:0000:09C0:876A:130B",
      "fmcNatId": "123456789",
      "fmcRegistrationKey": "123456789",
      "imageId": 71,
      "manageLocally": false,
      "mveLabel": "MVE 8/32"
    ]
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy MVE - Cisco with vNICs (v3)

**Response**

```json
{
  "data": [
    {
      "aLocation": "lon-gs1",
      "aLocationId": 88,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 165505,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 1,
      "createDate": 1695275752064,
      "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": {},
      "locked": false,
      "market": "UK",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "Test Versa Mve",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MVE",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": {},
      "rateType": "MONTHLY",
      "requestedDate": 1695275752064,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "Test Versa Mve",
      "tags": [],
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 173650,
      "technicalServiceUid": "a3c1acf6-4d34-465f-bd72-fc89c2ac38d2",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "aCountry": "United Kingdom",
      "aMetro": "London",
      "bCountry": {},
      "bMetro": {},
      "lagId": {},
      "mveSize": "SMALL",
      "originDomain": {},
      "vendor": "CISCO"
    }
  ],
  "message": "MVE [a3c1acf6-4d34-465f-bd72-fc89c2ac38d2] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - Cisco with vNICs (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

response = requests.post(url)

print(response.json())
```

```javascript Buy MVE - Cisco with vNICs (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {method: 'POST'};

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

```go Buy MVE - Cisco with vNICs (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

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

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

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

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

}
```

```ruby Buy MVE - Cisco with vNICs (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

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

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

```java Buy MVE - Cisco with vNICs (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .asString();
```

```php Buy MVE - Cisco with vNICs (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy');

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

```csharp Buy MVE - Cisco with vNICs (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - Cisco with vNICs (v3)
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

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

### Buy MVE - Fortinet Secure SD-WAN (v3)

**Request**

```json
[
  {
    "locationId": 60,
    "productName": "Test small Fortinet MVE (LA)",
    "productType": "MVE",
    "term": 12,
    "vendorConfig": {
      "imageId": 36,
      "licenseData": "U2FtZGVjeWR1amVzektvbXV3aWVyenlzeklnZHljenVqZXN6LMW8ZWNvxZtjaXN0eWthxbpsZcW7ZWNvxZtzacSZcGllcmR6aWVsaVdrYcW8ZGVqY2h3aWxpTW/FvGVzenpyb2JpxIdjb8WbTW/FvGVzend5xYLEhWN6ecSHcmFkaW9OaWVzxYJ1Y2hhxId0eWNoc2t1cndpZWxpCg==",
      "mveLabel": "MVE 2/8",
      "sshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5BiBnZATYFcX9GCoKAZV436CAbsFAvlA+NxHjcStk6s/iT+OkVUgiBtovwpQ8JgZgDQYE4riKKp7jA8xZibVgmm5gc2zsosPPzvHZaqqsWYSokArw3x+a4c0ntrg7noewJdtYVIneQYKsAyZcyKkRLF2ERMAavnv6ViuxWtkWCpcdWs+U4TayeILo43Nyk99EIDMi8EqAfYyBZvnjZKQ52gEK7mECYbP4Njm/hVXkxRZ1GxprnYnyQJkY/BXYxirfsBR8sRQwHnZvH6YvOq9orxU603gG/cyan7Tifsa/bH0nVHKHNepGrWbzbu/rCsmI4cAvppAV7dCcRKNocXF fortinet+megaport.rocks@example.net",
      "vendor": "FORTINET"
    },
    "vnics": [
      {
        "description": "Plano de Datos 1"
      },
      {
        "description": null
      },
      {
        "description": "Plano de Datos 3"
      },
      {
        "description": "Plano de Datos 4"
      },
      {
        "description": null
      }
    ]
  }
]
```

**Response**

```json
{
  "data": [
    {
      "aLocation": "lax-cs1",
      "aLocationId": 60,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 142533,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 12,
      "createDate": 1678234255293,
      "createdBy": "a30f6ea7-f94d-4032-8000-db6c3694ac3d",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "locked": false,
      "market": "USA",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "My small Fortinet MVE (LA)",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MVE",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": {},
      "rateType": "MONTHLY",
      "requestedDate": 1678234255293,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "My small Fortinet MVE (LA)",
      "tags": [],
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 150131,
      "technicalServiceUid": "26c00ab5-1581-4399-b3b0-42385707c7eb",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "mveSize": "SMALL",
      "originDomain": {},
      "vendor": "FORTINET"
    }
  ],
  "message": "MVE [26c00ab5-1581-4399-b3b0-42385707c7eb] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - Fortinet Secure SD-WAN (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "locationId": 60,
        "productName": "Test small Fortinet MVE (LA)",
        "productType": "MVE",
        "term": 12,
        "vendorConfig": {
            "imageId": 36,
            "licenseData": "U2FtZGVjeWR1amVzektvbXV3aWVyenlzeklnZHljenVqZXN6LMW8ZWNvxZtjaXN0eWthxbpsZcW7ZWNvxZtzacSZcGllcmR6aWVsaVdrYcW8ZGVqY2h3aWxpTW/FvGVzenpyb2JpxIdjb8WbTW/FvGVzend5xYLEhWN6ecSHcmFkaW9OaWVzxYJ1Y2hhxId0eWNoc2t1cndpZWxpCg==",
            "mveLabel": "MVE 2/8",
            "sshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5BiBnZATYFcX9GCoKAZV436CAbsFAvlA+NxHjcStk6s/iT+OkVUgiBtovwpQ8JgZgDQYE4riKKp7jA8xZibVgmm5gc2zsosPPzvHZaqqsWYSokArw3x+a4c0ntrg7noewJdtYVIneQYKsAyZcyKkRLF2ERMAavnv6ViuxWtkWCpcdWs+U4TayeILo43Nyk99EIDMi8EqAfYyBZvnjZKQ52gEK7mECYbP4Njm/hVXkxRZ1GxprnYnyQJkY/BXYxirfsBR8sRQwHnZvH6YvOq9orxU603gG/cyan7Tifsa/bH0nVHKHNepGrWbzbu/rCsmI4cAvppAV7dCcRKNocXF fortinet+megaport.rocks@example.net",
            "vendor": "FORTINET"
        },
        "vnics": [{ "description": "Plano de Datos 1" }, { "description": None }, { "description": "Plano de Datos 3" }, { "description": "Plano de Datos 4" }, { "description": None }]
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy MVE - Fortinet Secure SD-WAN (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"locationId":60,"productName":"Test small Fortinet MVE (LA)","productType":"MVE","term":12,"vendorConfig":{"imageId":36,"licenseData":"U2FtZGVjeWR1amVzektvbXV3aWVyenlzeklnZHljenVqZXN6LMW8ZWNvxZtjaXN0eWthxbpsZcW7ZWNvxZtzacSZcGllcmR6aWVsaVdrYcW8ZGVqY2h3aWxpTW/FvGVzenpyb2JpxIdjb8WbTW/FvGVzend5xYLEhWN6ecSHcmFkaW9OaWVzxYJ1Y2hhxId0eWNoc2t1cndpZWxpCg==","mveLabel":"MVE 2/8","sshPublicKey":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5BiBnZATYFcX9GCoKAZV436CAbsFAvlA+NxHjcStk6s/iT+OkVUgiBtovwpQ8JgZgDQYE4riKKp7jA8xZibVgmm5gc2zsosPPzvHZaqqsWYSokArw3x+a4c0ntrg7noewJdtYVIneQYKsAyZcyKkRLF2ERMAavnv6ViuxWtkWCpcdWs+U4TayeILo43Nyk99EIDMi8EqAfYyBZvnjZKQ52gEK7mECYbP4Njm/hVXkxRZ1GxprnYnyQJkY/BXYxirfsBR8sRQwHnZvH6YvOq9orxU603gG/cyan7Tifsa/bH0nVHKHNepGrWbzbu/rCsmI4cAvppAV7dCcRKNocXF fortinet+megaport.rocks@example.net","vendor":"FORTINET"},"vnics":[{"description":"Plano de Datos 1"},{"description":null},{"description":"Plano de Datos 3"},{"description":"Plano de Datos 4"},{"description":null}]}]'
};

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

```go Buy MVE - Fortinet Secure SD-WAN (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"locationId\": 60,\n    \"productName\": \"Test small Fortinet MVE (LA)\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"vendorConfig\": {\n      \"imageId\": 36,\n      \"licenseData\": \"U2FtZGVjeWR1amVzektvbXV3aWVyenlzeklnZHljenVqZXN6LMW8ZWNvxZtjaXN0eWthxbpsZcW7ZWNvxZtzacSZcGllcmR6aWVsaVdrYcW8ZGVqY2h3aWxpTW/FvGVzenpyb2JpxIdjb8WbTW/FvGVzend5xYLEhWN6ecSHcmFkaW9OaWVzxYJ1Y2hhxId0eWNoc2t1cndpZWxpCg==\",\n      \"mveLabel\": \"MVE 2/8\",\n      \"sshPublicKey\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5BiBnZATYFcX9GCoKAZV436CAbsFAvlA+NxHjcStk6s/iT+OkVUgiBtovwpQ8JgZgDQYE4riKKp7jA8xZibVgmm5gc2zsosPPzvHZaqqsWYSokArw3x+a4c0ntrg7noewJdtYVIneQYKsAyZcyKkRLF2ERMAavnv6ViuxWtkWCpcdWs+U4TayeILo43Nyk99EIDMi8EqAfYyBZvnjZKQ52gEK7mECYbP4Njm/hVXkxRZ1GxprnYnyQJkY/BXYxirfsBR8sRQwHnZvH6YvOq9orxU603gG/cyan7Tifsa/bH0nVHKHNepGrWbzbu/rCsmI4cAvppAV7dCcRKNocXF fortinet+megaport.rocks@example.net\",\n      \"vendor\": \"FORTINET\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Plano de Datos 1\"\n      },\n      {\n        \"description\": null\n      },\n      {\n        \"description\": \"Plano de Datos 3\"\n      },\n      {\n        \"description\": \"Plano de Datos 4\"\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy MVE - Fortinet Secure SD-WAN (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"locationId\": 60,\n    \"productName\": \"Test small Fortinet MVE (LA)\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"vendorConfig\": {\n      \"imageId\": 36,\n      \"licenseData\": \"U2FtZGVjeWR1amVzektvbXV3aWVyenlzeklnZHljenVqZXN6LMW8ZWNvxZtjaXN0eWthxbpsZcW7ZWNvxZtzacSZcGllcmR6aWVsaVdrYcW8ZGVqY2h3aWxpTW/FvGVzenpyb2JpxIdjb8WbTW/FvGVzend5xYLEhWN6ecSHcmFkaW9OaWVzxYJ1Y2hhxId0eWNoc2t1cndpZWxpCg==\",\n      \"mveLabel\": \"MVE 2/8\",\n      \"sshPublicKey\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5BiBnZATYFcX9GCoKAZV436CAbsFAvlA+NxHjcStk6s/iT+OkVUgiBtovwpQ8JgZgDQYE4riKKp7jA8xZibVgmm5gc2zsosPPzvHZaqqsWYSokArw3x+a4c0ntrg7noewJdtYVIneQYKsAyZcyKkRLF2ERMAavnv6ViuxWtkWCpcdWs+U4TayeILo43Nyk99EIDMi8EqAfYyBZvnjZKQ52gEK7mECYbP4Njm/hVXkxRZ1GxprnYnyQJkY/BXYxirfsBR8sRQwHnZvH6YvOq9orxU603gG/cyan7Tifsa/bH0nVHKHNepGrWbzbu/rCsmI4cAvppAV7dCcRKNocXF fortinet+megaport.rocks@example.net\",\n      \"vendor\": \"FORTINET\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Plano de Datos 1\"\n      },\n      {\n        \"description\": null\n      },\n      {\n        \"description\": \"Plano de Datos 3\"\n      },\n      {\n        \"description\": \"Plano de Datos 4\"\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]"

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

```java Buy MVE - Fortinet Secure SD-WAN (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"locationId\": 60,\n    \"productName\": \"Test small Fortinet MVE (LA)\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"vendorConfig\": {\n      \"imageId\": 36,\n      \"licenseData\": \"U2FtZGVjeWR1amVzektvbXV3aWVyenlzeklnZHljenVqZXN6LMW8ZWNvxZtjaXN0eWthxbpsZcW7ZWNvxZtzacSZcGllcmR6aWVsaVdrYcW8ZGVqY2h3aWxpTW/FvGVzenpyb2JpxIdjb8WbTW/FvGVzend5xYLEhWN6ecSHcmFkaW9OaWVzxYJ1Y2hhxId0eWNoc2t1cndpZWxpCg==\",\n      \"mveLabel\": \"MVE 2/8\",\n      \"sshPublicKey\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5BiBnZATYFcX9GCoKAZV436CAbsFAvlA+NxHjcStk6s/iT+OkVUgiBtovwpQ8JgZgDQYE4riKKp7jA8xZibVgmm5gc2zsosPPzvHZaqqsWYSokArw3x+a4c0ntrg7noewJdtYVIneQYKsAyZcyKkRLF2ERMAavnv6ViuxWtkWCpcdWs+U4TayeILo43Nyk99EIDMi8EqAfYyBZvnjZKQ52gEK7mECYbP4Njm/hVXkxRZ1GxprnYnyQJkY/BXYxirfsBR8sRQwHnZvH6YvOq9orxU603gG/cyan7Tifsa/bH0nVHKHNepGrWbzbu/rCsmI4cAvppAV7dCcRKNocXF fortinet+megaport.rocks@example.net\",\n      \"vendor\": \"FORTINET\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Plano de Datos 1\"\n      },\n      {\n        \"description\": null\n      },\n      {\n        \"description\": \"Plano de Datos 3\"\n      },\n      {\n        \"description\": \"Plano de Datos 4\"\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]")
  .asString();
```

```php Buy MVE - Fortinet Secure SD-WAN (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "locationId": 60,
    "productName": "Test small Fortinet MVE (LA)",
    "productType": "MVE",
    "term": 12,
    "vendorConfig": {
      "imageId": 36,
      "licenseData": "U2FtZGVjeWR1amVzektvbXV3aWVyenlzeklnZHljenVqZXN6LMW8ZWNvxZtjaXN0eWthxbpsZcW7ZWNvxZtzacSZcGllcmR6aWVsaVdrYcW8ZGVqY2h3aWxpTW/FvGVzenpyb2JpxIdjb8WbTW/FvGVzend5xYLEhWN6ecSHcmFkaW9OaWVzxYJ1Y2hhxId0eWNoc2t1cndpZWxpCg==",
      "mveLabel": "MVE 2/8",
      "sshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5BiBnZATYFcX9GCoKAZV436CAbsFAvlA+NxHjcStk6s/iT+OkVUgiBtovwpQ8JgZgDQYE4riKKp7jA8xZibVgmm5gc2zsosPPzvHZaqqsWYSokArw3x+a4c0ntrg7noewJdtYVIneQYKsAyZcyKkRLF2ERMAavnv6ViuxWtkWCpcdWs+U4TayeILo43Nyk99EIDMi8EqAfYyBZvnjZKQ52gEK7mECYbP4Njm/hVXkxRZ1GxprnYnyQJkY/BXYxirfsBR8sRQwHnZvH6YvOq9orxU603gG/cyan7Tifsa/bH0nVHKHNepGrWbzbu/rCsmI4cAvppAV7dCcRKNocXF fortinet+megaport.rocks@example.net",
      "vendor": "FORTINET"
    },
    "vnics": [
      {
        "description": "Plano de Datos 1"
      },
      {
        "description": null
      },
      {
        "description": "Plano de Datos 3"
      },
      {
        "description": "Plano de Datos 4"
      },
      {
        "description": null
      }
    ]
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy MVE - Fortinet Secure SD-WAN (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"locationId\": 60,\n    \"productName\": \"Test small Fortinet MVE (LA)\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"vendorConfig\": {\n      \"imageId\": 36,\n      \"licenseData\": \"U2FtZGVjeWR1amVzektvbXV3aWVyenlzeklnZHljenVqZXN6LMW8ZWNvxZtjaXN0eWthxbpsZcW7ZWNvxZtzacSZcGllcmR6aWVsaVdrYcW8ZGVqY2h3aWxpTW/FvGVzenpyb2JpxIdjb8WbTW/FvGVzend5xYLEhWN6ecSHcmFkaW9OaWVzxYJ1Y2hhxId0eWNoc2t1cndpZWxpCg==\",\n      \"mveLabel\": \"MVE 2/8\",\n      \"sshPublicKey\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5BiBnZATYFcX9GCoKAZV436CAbsFAvlA+NxHjcStk6s/iT+OkVUgiBtovwpQ8JgZgDQYE4riKKp7jA8xZibVgmm5gc2zsosPPzvHZaqqsWYSokArw3x+a4c0ntrg7noewJdtYVIneQYKsAyZcyKkRLF2ERMAavnv6ViuxWtkWCpcdWs+U4TayeILo43Nyk99EIDMi8EqAfYyBZvnjZKQ52gEK7mECYbP4Njm/hVXkxRZ1GxprnYnyQJkY/BXYxirfsBR8sRQwHnZvH6YvOq9orxU603gG/cyan7Tifsa/bH0nVHKHNepGrWbzbu/rCsmI4cAvppAV7dCcRKNocXF fortinet+megaport.rocks@example.net\",\n      \"vendor\": \"FORTINET\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Plano de Datos 1\"\n      },\n      {\n        \"description\": null\n      },\n      {\n        \"description\": \"Plano de Datos 3\"\n      },\n      {\n        \"description\": \"Plano de Datos 4\"\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - Fortinet Secure SD-WAN (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "locationId": 60,
    "productName": "Test small Fortinet MVE (LA)",
    "productType": "MVE",
    "term": 12,
    "vendorConfig": [
      "imageId": 36,
      "licenseData": "U2FtZGVjeWR1amVzektvbXV3aWVyenlzeklnZHljenVqZXN6LMW8ZWNvxZtjaXN0eWthxbpsZcW7ZWNvxZtzacSZcGllcmR6aWVsaVdrYcW8ZGVqY2h3aWxpTW/FvGVzenpyb2JpxIdjb8WbTW/FvGVzend5xYLEhWN6ecSHcmFkaW9OaWVzxYJ1Y2hhxId0eWNoc2t1cndpZWxpCg==",
      "mveLabel": "MVE 2/8",
      "sshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5BiBnZATYFcX9GCoKAZV436CAbsFAvlA+NxHjcStk6s/iT+OkVUgiBtovwpQ8JgZgDQYE4riKKp7jA8xZibVgmm5gc2zsosPPzvHZaqqsWYSokArw3x+a4c0ntrg7noewJdtYVIneQYKsAyZcyKkRLF2ERMAavnv6ViuxWtkWCpcdWs+U4TayeILo43Nyk99EIDMi8EqAfYyBZvnjZKQ52gEK7mECYbP4Njm/hVXkxRZ1GxprnYnyQJkY/BXYxirfsBR8sRQwHnZvH6YvOq9orxU603gG/cyan7Tifsa/bH0nVHKHNepGrWbzbu/rCsmI4cAvppAV7dCcRKNocXF fortinet+megaport.rocks@example.net",
      "vendor": "FORTINET"
    ],
    "vnics": [["description": "Plano de Datos 1"], ["description": ], ["description": "Plano de Datos 3"], ["description": "Plano de Datos 4"], ["description": ]]
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy MVE - Fortinet Secure SD-WAN with vNICs (v3)

**Response**

```json
{
  "data": [
    {
      "aLocation": "lax-cs1",
      "aLocationId": 60,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 165504,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 12,
      "createDate": 1695275449390,
      "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": {},
      "locked": false,
      "market": "USA",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "Test small Fortinet MVE (LA)",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MVE",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": {},
      "rateType": "MONTHLY",
      "requestedDate": 1695275449390,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "Test small Fortinet MVE (LA)",
      "tags": [],
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 173649,
      "technicalServiceUid": "66484c20-381d-4298-856c-3f83e47f6460",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "aCountry": "USA",
      "aMetro": "Los Angeles",
      "bCountry": {},
      "bMetro": {},
      "lagId": {},
      "mveSize": "SMALL",
      "originDomain": {},
      "vendor": "FORTINET"
    }
  ],
  "message": "MVE [66484c20-381d-4298-856c-3f83e47f6460] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - Fortinet Secure SD-WAN with vNICs (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

response = requests.post(url)

print(response.json())
```

```javascript Buy MVE - Fortinet Secure SD-WAN with vNICs (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {method: 'POST'};

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

```go Buy MVE - Fortinet Secure SD-WAN with vNICs (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

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

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

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

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

}
```

```ruby Buy MVE - Fortinet Secure SD-WAN with vNICs (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

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

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

```java Buy MVE - Fortinet Secure SD-WAN with vNICs (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .asString();
```

```php Buy MVE - Fortinet Secure SD-WAN with vNICs (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy');

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

```csharp Buy MVE - Fortinet Secure SD-WAN with vNICs (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - Fortinet Secure SD-WAN with vNICs (v3)
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

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

### Buy MVE - Palo Alto Prisma SD-WAN 3104v (v3)

**Response**

```json
{
  "data": [
    {
      "aLocation": "mel-mdc",
      "aLocationId": 23,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 206081,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 12,
      "createDate": 1728960153527,
      "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": {},
      "locked": false,
      "market": "Australia",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "Palo Alto Prisma Example 3104v",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MVE",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": {},
      "rateType": "MONTHLY",
      "requestedDate": 1728960153527,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "Palo Alto Prisma Example 3104v",
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 214606,
      "technicalServiceUid": "e0cfcca1-f30e-4c21-bace-7c52807fff96",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "aCountry": "Australia",
      "aMetro": "Melbourne",
      "bCountry": {},
      "bMetro": {},
      "lagId": {},
      "mveSize": "MEDIUM",
      "originDomain": {},
      "vendor": "PALO_ALTO"
    }
  ],
  "message": "MVE [e0cfcca1-f30e-4c21-bace-7c52807fff96] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - Palo Alto Prisma SD-WAN 3104v (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

response = requests.post(url)

print(response.json())
```

```javascript Buy MVE - Palo Alto Prisma SD-WAN 3104v (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {method: 'POST'};

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

```go Buy MVE - Palo Alto Prisma SD-WAN 3104v (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

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

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

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

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

}
```

```ruby Buy MVE - Palo Alto Prisma SD-WAN 3104v (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

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

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

```java Buy MVE - Palo Alto Prisma SD-WAN 3104v (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .asString();
```

```php Buy MVE - Palo Alto Prisma SD-WAN 3104v (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy');

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

```csharp Buy MVE - Palo Alto Prisma SD-WAN 3104v (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - Palo Alto Prisma SD-WAN 3104v (v3)
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

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

### Buy MVE - Palo Alto Prisma SD-WAN 3108v (v3)

**Response**

```json
{
  "data": [
    {
      "aLocation": "mel-mdc",
      "aLocationId": 23,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 206077,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 12,
      "createDate": 1728959878452,
      "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": {},
      "locked": false,
      "market": "Australia",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "Palo Alto Prisma Example 3108v",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MVE",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": {},
      "rateType": "MONTHLY",
      "requestedDate": 1728959878452,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "Palo Alto Prisma Example 3108v",
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 214602,
      "technicalServiceUid": "d94b0d2b-38bd-4e3b-a441-9c2ea71d3c1e",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "aCountry": "Australia",
      "aMetro": "Melbourne",
      "bCountry": {},
      "bMetro": {},
      "lagId": {},
      "mveSize": "LARGE",
      "originDomain": {},
      "vendor": "PALO_ALTO"
    }
  ],
  "message": "MVE [d94b0d2b-38bd-4e3b-a441-9c2ea71d3c1e] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - Palo Alto Prisma SD-WAN 3108v (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

response = requests.post(url)

print(response.json())
```

```javascript Buy MVE - Palo Alto Prisma SD-WAN 3108v (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {method: 'POST'};

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

```go Buy MVE - Palo Alto Prisma SD-WAN 3108v (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

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

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

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

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

}
```

```ruby Buy MVE - Palo Alto Prisma SD-WAN 3108v (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

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

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

```java Buy MVE - Palo Alto Prisma SD-WAN 3108v (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .asString();
```

```php Buy MVE - Palo Alto Prisma SD-WAN 3108v (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy');

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

```csharp Buy MVE - Palo Alto Prisma SD-WAN 3108v (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - Palo Alto Prisma SD-WAN 3108v (v3)
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

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

### Buy MVE - Palo Alto Prisma SD-WAN 7108v (v3)

**Response**

```json
{
  "data": [
    {
      "aLocation": "mel-mdc",
      "aLocationId": 23,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 206079,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 12,
      "createDate": 1728960019604,
      "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": {},
      "locked": false,
      "market": "Australia",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "Palo Alto Prisma Example 7108v",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MVE",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": {},
      "rateType": "MONTHLY",
      "requestedDate": 1728960019604,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "Palo Alto Prisma Example 7108v",
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 214604,
      "technicalServiceUid": "c526ccea-4346-449f-b00c-d7ce1a5676cf",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "aCountry": "Australia",
      "aMetro": "Melbourne",
      "bCountry": {},
      "bMetro": {},
      "lagId": {},
      "mveSize": "LARGE",
      "originDomain": {},
      "vendor": "PALO_ALTO"
    }
  ],
  "message": "MVE [c526ccea-4346-449f-b00c-d7ce1a5676cf] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - Palo Alto Prisma SD-WAN 7108v (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

response = requests.post(url)

print(response.json())
```

```javascript Buy MVE - Palo Alto Prisma SD-WAN 7108v (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {method: 'POST'};

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

```go Buy MVE - Palo Alto Prisma SD-WAN 7108v (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

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

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

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

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

}
```

```ruby Buy MVE - Palo Alto Prisma SD-WAN 7108v (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

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

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

```java Buy MVE - Palo Alto Prisma SD-WAN 7108v (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .asString();
```

```php Buy MVE - Palo Alto Prisma SD-WAN 7108v (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy');

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

```csharp Buy MVE - Palo Alto Prisma SD-WAN 7108v (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - Palo Alto Prisma SD-WAN 7108v (v3)
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

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

### Buy MVE - Palo Alto VM-Series NGFW (v3)

**Response**

```json
{
  "data": [
    {
      "aLocation": "lon-gs1",
      "aLocationId": 88,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 147054,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 12,
      "createDate": 1680586200603,
      "createdBy": "a30f6ea7-f94d-4032-8000-db6c3694ac3d",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "locked": false,
      "market": "UK",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "Test Palo Alto MVE",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MVE",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": {},
      "rateType": "MONTHLY",
      "requestedDate": 1680586200603,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "Test Palo Alto MVE",
      "tags": [],
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 155099,
      "technicalServiceUid": "2bd44d3f-7d4f-48d9-a4fb-6ae26bf5c3cc",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "mveSize": "SMALL",
      "originDomain": {},
      "vendor": "PALO_ALTO"
    }
  ],
  "message": "MVE [2bd44d3f-7d4f-48d9-a4fb-6ae26bf5c3cc] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - Palo Alto VM-Series NGFW (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

response = requests.post(url)

print(response.json())
```

```javascript Buy MVE - Palo Alto VM-Series NGFW (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {method: 'POST'};

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

```go Buy MVE - Palo Alto VM-Series NGFW (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

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

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

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

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

}
```

```ruby Buy MVE - Palo Alto VM-Series NGFW (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

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

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

```java Buy MVE - Palo Alto VM-Series NGFW (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .asString();
```

```php Buy MVE - Palo Alto VM-Series NGFW (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy');

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

```csharp Buy MVE - Palo Alto VM-Series NGFW (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - Palo Alto VM-Series NGFW (v3)
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

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

### Buy MVE - Peplink FusionHub (v3)

**Request**

```json
[
  {
    "locationId": 5,
    "productName": "Test Peplink FusionHub MVE",
    "productType": "MVE",
    "term": 12,
    "config": {
      "diversityZone": "blue"
    },
    "promoCode": "promox3mnthfree2",
    "vendorConfig": {
      "adminPasswordHash": "07a6a43ca6d20a9b0a6176fc69f46f35584836ed",
      "imageId": 94,
      "licenseData": "124h09fflq1avnb5",
      "mveLabel": "MVE 8/32"
    },
    "vnics": [
      {
        "description": "Plano de Gestión"
      },
      {
        "description": "Plano de Datos 1"
      },
      {
        "description": "Plano de Datos 2"
      }
    ]
  }
]
```

**Response**

```json
{
  "data": [
    {
      "aLocation": "bne-nxt1",
      "aLocationId": 5,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 242128,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 12,
      "createDate": 1753278635154,
      "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": {},
      "locked": false,
      "market": "Australia",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "Test Peplink FusionHub MVE",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MVE",
      "promptUid": null,
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": {},
      "rateType": "MONTHLY",
      "requestedDate": 1753278635154,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "Test Peplink FusionHub MVE",
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 250265,
      "technicalServiceUid": "370c4cb4-5419-4365-a7ac-c061874f46fb",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "aCountry": "Australia",
      "aMetro": "Brisbane",
      "bCountry": {},
      "bMetro": {},
      "crossConnectRequested": false,
      "lagId": {},
      "mveSize": "LARGE",
      "originDomain": {},
      "vendor": "PEPLINK"
    }
  ],
  "message": "MVE [370c4cb4-5419-4365-a7ac-c061874f46fb] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - Peplink FusionHub (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "locationId": 5,
        "productName": "Test Peplink FusionHub MVE",
        "productType": "MVE",
        "term": 12,
        "config": { "diversityZone": "blue" },
        "promoCode": "promox3mnthfree2",
        "vendorConfig": {
            "adminPasswordHash": "07a6a43ca6d20a9b0a6176fc69f46f35584836ed",
            "imageId": 94,
            "licenseData": "124h09fflq1avnb5",
            "mveLabel": "MVE 8/32"
        },
        "vnics": [{ "description": "Plano de Gestión" }, { "description": "Plano de Datos 1" }, { "description": "Plano de Datos 2" }]
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy MVE - Peplink FusionHub (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"locationId":5,"productName":"Test Peplink FusionHub MVE","productType":"MVE","term":12,"config":{"diversityZone":"blue"},"promoCode":"promox3mnthfree2","vendorConfig":{"adminPasswordHash":"07a6a43ca6d20a9b0a6176fc69f46f35584836ed","imageId":94,"licenseData":"124h09fflq1avnb5","mveLabel":"MVE 8/32"},"vnics":[{"description":"Plano de Gestión"},{"description":"Plano de Datos 1"},{"description":"Plano de Datos 2"}]}]'
};

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

```go Buy MVE - Peplink FusionHub (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"locationId\": 5,\n    \"productName\": \"Test Peplink FusionHub MVE\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"config\": {\n      \"diversityZone\": \"blue\"\n    },\n    \"promoCode\": \"promox3mnthfree2\",\n    \"vendorConfig\": {\n      \"adminPasswordHash\": \"07a6a43ca6d20a9b0a6176fc69f46f35584836ed\",\n      \"imageId\": 94,\n      \"licenseData\": \"124h09fflq1avnb5\",\n      \"mveLabel\": \"MVE 8/32\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Plano de Gestión\"\n      },\n      {\n        \"description\": \"Plano de Datos 1\"\n      },\n      {\n        \"description\": \"Plano de Datos 2\"\n      }\n    ]\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy MVE - Peplink FusionHub (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"locationId\": 5,\n    \"productName\": \"Test Peplink FusionHub MVE\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"config\": {\n      \"diversityZone\": \"blue\"\n    },\n    \"promoCode\": \"promox3mnthfree2\",\n    \"vendorConfig\": {\n      \"adminPasswordHash\": \"07a6a43ca6d20a9b0a6176fc69f46f35584836ed\",\n      \"imageId\": 94,\n      \"licenseData\": \"124h09fflq1avnb5\",\n      \"mveLabel\": \"MVE 8/32\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Plano de Gestión\"\n      },\n      {\n        \"description\": \"Plano de Datos 1\"\n      },\n      {\n        \"description\": \"Plano de Datos 2\"\n      }\n    ]\n  }\n]"

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

```java Buy MVE - Peplink FusionHub (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"locationId\": 5,\n    \"productName\": \"Test Peplink FusionHub MVE\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"config\": {\n      \"diversityZone\": \"blue\"\n    },\n    \"promoCode\": \"promox3mnthfree2\",\n    \"vendorConfig\": {\n      \"adminPasswordHash\": \"07a6a43ca6d20a9b0a6176fc69f46f35584836ed\",\n      \"imageId\": 94,\n      \"licenseData\": \"124h09fflq1avnb5\",\n      \"mveLabel\": \"MVE 8/32\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Plano de Gestión\"\n      },\n      {\n        \"description\": \"Plano de Datos 1\"\n      },\n      {\n        \"description\": \"Plano de Datos 2\"\n      }\n    ]\n  }\n]")
  .asString();
```

```php Buy MVE - Peplink FusionHub (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "locationId": 5,
    "productName": "Test Peplink FusionHub MVE",
    "productType": "MVE",
    "term": 12,
    "config": {
      "diversityZone": "blue"
    },
    "promoCode": "promox3mnthfree2",
    "vendorConfig": {
      "adminPasswordHash": "07a6a43ca6d20a9b0a6176fc69f46f35584836ed",
      "imageId": 94,
      "licenseData": "124h09fflq1avnb5",
      "mveLabel": "MVE 8/32"
    },
    "vnics": [
      {
        "description": "Plano de Gestión"
      },
      {
        "description": "Plano de Datos 1"
      },
      {
        "description": "Plano de Datos 2"
      }
    ]
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy MVE - Peplink FusionHub (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"locationId\": 5,\n    \"productName\": \"Test Peplink FusionHub MVE\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"config\": {\n      \"diversityZone\": \"blue\"\n    },\n    \"promoCode\": \"promox3mnthfree2\",\n    \"vendorConfig\": {\n      \"adminPasswordHash\": \"07a6a43ca6d20a9b0a6176fc69f46f35584836ed\",\n      \"imageId\": 94,\n      \"licenseData\": \"124h09fflq1avnb5\",\n      \"mveLabel\": \"MVE 8/32\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Plano de Gestión\"\n      },\n      {\n        \"description\": \"Plano de Datos 1\"\n      },\n      {\n        \"description\": \"Plano de Datos 2\"\n      }\n    ]\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - Peplink FusionHub (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "locationId": 5,
    "productName": "Test Peplink FusionHub MVE",
    "productType": "MVE",
    "term": 12,
    "config": ["diversityZone": "blue"],
    "promoCode": "promox3mnthfree2",
    "vendorConfig": [
      "adminPasswordHash": "07a6a43ca6d20a9b0a6176fc69f46f35584836ed",
      "imageId": 94,
      "licenseData": "124h09fflq1avnb5",
      "mveLabel": "MVE 8/32"
    ],
    "vnics": [["description": "Plano de Gestión"], ["description": "Plano de Datos 1"], ["description": "Plano de Datos 2"]]
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy MVE - Peplink FusionHub (v3) - With Resource Tags

**Response**

```json
{
  "data": [
    {
      "aLocation": "mel-mdc",
      "aLocationId": 23,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 242130,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 12,
      "createDate": 1753281883167,
      "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": {},
      "locked": false,
      "market": "Australia",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "Test Peplink FusionHub MVE via API",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MVE",
      "promptUid": null,
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": {},
      "rateType": "MONTHLY",
      "requestedDate": 1753281883167,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "Test Peplink FusionHub MVE via API",
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 250267,
      "technicalServiceUid": "a039c7c9-78f8-4bd8-96e1-1cf3c35bb093",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "aCountry": "Australia",
      "aMetro": "Melbourne",
      "bCountry": {},
      "bMetro": {},
      "crossConnectRequested": false,
      "lagId": {},
      "mveSize": "MEDIUM",
      "originDomain": {},
      "vendor": "PEPLINK"
    }
  ],
  "message": "MVE [a039c7c9-78f8-4bd8-96e1-1cf3c35bb093] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - Peplink FusionHub (v3) - With Resource Tags
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

response = requests.post(url)

print(response.json())
```

```javascript Buy MVE - Peplink FusionHub (v3) - With Resource Tags
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {method: 'POST'};

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

```go Buy MVE - Peplink FusionHub (v3) - With Resource Tags
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

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

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

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

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

}
```

```ruby Buy MVE - Peplink FusionHub (v3) - With Resource Tags
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

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

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

```java Buy MVE - Peplink FusionHub (v3) - With Resource Tags
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .asString();
```

```php Buy MVE - Peplink FusionHub (v3) - With Resource Tags
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy');

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

```csharp Buy MVE - Peplink FusionHub (v3) - With Resource Tags
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - Peplink FusionHub (v3) - With Resource Tags
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

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

### Buy MVE - VMware SD-WAN (v3)

**Request**

```json
[
  {
    "locationId": 2,
    "productName": "My Test VMware MVE",
    "productType": "MVE",
    "term": 12,
    "vendorConfig": {
      "imageId": 15,
      "mveLabel": "MVE 2/8",
      "sshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5BiBnZATYFcX9GCoKAZV436CAbsFAvlA+NxHjcStk6s/iT+OkVUgiBtovwpQ8JgZgDQYE4riKKp7jA8xZibVgmm5gc2zsosPPzvHZaqqsWYSokArw3x+a4c0ntrg7noewJdtYVIneQYKsAyZcyKkRLF2ERMAavnv6ViuxWtkWCpcdXs+U4TayeILo43Nyk99EIDMi8EqAfYyBZvnjZKQ52gEK7mECYbP4Njm/hVXkxRZ1GxprnYnyQJkY/BXYxirfsBR8sRQwHnZvH6YvOq9orxU603gG/cyan7Tifsa/bH0nVHKHNepGrWbzbu/rCsmI4cAvppAV7dCcRKNocXF vmware+megaport.rocks@example.net",
      "vcoActivationCode": "8MEC-QGH3-MMYB-6PHV",
      "vcoAddress": "vco.mve-rocks.example.com",
      "vendor": "VMWARE"
    }
  }
]
```

**Response**

```json
{
  "data": [
    {
      "aLocation": "syd-sy1",
      "aLocationId": 2,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 142535,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 12,
      "createDate": 1678234970934,
      "createdBy": "a30f6ea7-f94d-4032-8000-db6c3694ac3d",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "locked": false,
      "market": "Australia",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "My Test VMware MVE",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MVE",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": {},
      "rateType": "MONTHLY",
      "requestedDate": 1678234970934,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "My Test VMware MVE",
      "tags": [],
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 150133,
      "technicalServiceUid": "9ecabdd9-8700-47be-bfa6-1c0ffac80fb2",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "mveSize": "SMALL",
      "originDomain": {},
      "vendor": "VMWARE"
    }
  ],
  "message": "MVE [9ecabdd9-8700-47be-bfa6-1c0ffac80fb2] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - VMware SD-WAN (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "locationId": 2,
        "productName": "My Test VMware MVE",
        "productType": "MVE",
        "term": 12,
        "vendorConfig": {
            "imageId": 15,
            "mveLabel": "MVE 2/8",
            "sshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5BiBnZATYFcX9GCoKAZV436CAbsFAvlA+NxHjcStk6s/iT+OkVUgiBtovwpQ8JgZgDQYE4riKKp7jA8xZibVgmm5gc2zsosPPzvHZaqqsWYSokArw3x+a4c0ntrg7noewJdtYVIneQYKsAyZcyKkRLF2ERMAavnv6ViuxWtkWCpcdXs+U4TayeILo43Nyk99EIDMi8EqAfYyBZvnjZKQ52gEK7mECYbP4Njm/hVXkxRZ1GxprnYnyQJkY/BXYxirfsBR8sRQwHnZvH6YvOq9orxU603gG/cyan7Tifsa/bH0nVHKHNepGrWbzbu/rCsmI4cAvppAV7dCcRKNocXF vmware+megaport.rocks@example.net",
            "vcoActivationCode": "8MEC-QGH3-MMYB-6PHV",
            "vcoAddress": "vco.mve-rocks.example.com",
            "vendor": "VMWARE"
        }
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy MVE - VMware SD-WAN (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"locationId":2,"productName":"My Test VMware MVE","productType":"MVE","term":12,"vendorConfig":{"imageId":15,"mveLabel":"MVE 2/8","sshPublicKey":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5BiBnZATYFcX9GCoKAZV436CAbsFAvlA+NxHjcStk6s/iT+OkVUgiBtovwpQ8JgZgDQYE4riKKp7jA8xZibVgmm5gc2zsosPPzvHZaqqsWYSokArw3x+a4c0ntrg7noewJdtYVIneQYKsAyZcyKkRLF2ERMAavnv6ViuxWtkWCpcdXs+U4TayeILo43Nyk99EIDMi8EqAfYyBZvnjZKQ52gEK7mECYbP4Njm/hVXkxRZ1GxprnYnyQJkY/BXYxirfsBR8sRQwHnZvH6YvOq9orxU603gG/cyan7Tifsa/bH0nVHKHNepGrWbzbu/rCsmI4cAvppAV7dCcRKNocXF vmware+megaport.rocks@example.net","vcoActivationCode":"8MEC-QGH3-MMYB-6PHV","vcoAddress":"vco.mve-rocks.example.com","vendor":"VMWARE"}}]'
};

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

```go Buy MVE - VMware SD-WAN (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"locationId\": 2,\n    \"productName\": \"My Test VMware MVE\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"vendorConfig\": {\n      \"imageId\": 15,\n      \"mveLabel\": \"MVE 2/8\",\n      \"sshPublicKey\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5BiBnZATYFcX9GCoKAZV436CAbsFAvlA+NxHjcStk6s/iT+OkVUgiBtovwpQ8JgZgDQYE4riKKp7jA8xZibVgmm5gc2zsosPPzvHZaqqsWYSokArw3x+a4c0ntrg7noewJdtYVIneQYKsAyZcyKkRLF2ERMAavnv6ViuxWtkWCpcdXs+U4TayeILo43Nyk99EIDMi8EqAfYyBZvnjZKQ52gEK7mECYbP4Njm/hVXkxRZ1GxprnYnyQJkY/BXYxirfsBR8sRQwHnZvH6YvOq9orxU603gG/cyan7Tifsa/bH0nVHKHNepGrWbzbu/rCsmI4cAvppAV7dCcRKNocXF vmware+megaport.rocks@example.net\",\n      \"vcoActivationCode\": \"8MEC-QGH3-MMYB-6PHV\",\n      \"vcoAddress\": \"vco.mve-rocks.example.com\",\n      \"vendor\": \"VMWARE\"\n    }\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy MVE - VMware SD-WAN (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"locationId\": 2,\n    \"productName\": \"My Test VMware MVE\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"vendorConfig\": {\n      \"imageId\": 15,\n      \"mveLabel\": \"MVE 2/8\",\n      \"sshPublicKey\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5BiBnZATYFcX9GCoKAZV436CAbsFAvlA+NxHjcStk6s/iT+OkVUgiBtovwpQ8JgZgDQYE4riKKp7jA8xZibVgmm5gc2zsosPPzvHZaqqsWYSokArw3x+a4c0ntrg7noewJdtYVIneQYKsAyZcyKkRLF2ERMAavnv6ViuxWtkWCpcdXs+U4TayeILo43Nyk99EIDMi8EqAfYyBZvnjZKQ52gEK7mECYbP4Njm/hVXkxRZ1GxprnYnyQJkY/BXYxirfsBR8sRQwHnZvH6YvOq9orxU603gG/cyan7Tifsa/bH0nVHKHNepGrWbzbu/rCsmI4cAvppAV7dCcRKNocXF vmware+megaport.rocks@example.net\",\n      \"vcoActivationCode\": \"8MEC-QGH3-MMYB-6PHV\",\n      \"vcoAddress\": \"vco.mve-rocks.example.com\",\n      \"vendor\": \"VMWARE\"\n    }\n  }\n]"

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

```java Buy MVE - VMware SD-WAN (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"locationId\": 2,\n    \"productName\": \"My Test VMware MVE\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"vendorConfig\": {\n      \"imageId\": 15,\n      \"mveLabel\": \"MVE 2/8\",\n      \"sshPublicKey\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5BiBnZATYFcX9GCoKAZV436CAbsFAvlA+NxHjcStk6s/iT+OkVUgiBtovwpQ8JgZgDQYE4riKKp7jA8xZibVgmm5gc2zsosPPzvHZaqqsWYSokArw3x+a4c0ntrg7noewJdtYVIneQYKsAyZcyKkRLF2ERMAavnv6ViuxWtkWCpcdXs+U4TayeILo43Nyk99EIDMi8EqAfYyBZvnjZKQ52gEK7mECYbP4Njm/hVXkxRZ1GxprnYnyQJkY/BXYxirfsBR8sRQwHnZvH6YvOq9orxU603gG/cyan7Tifsa/bH0nVHKHNepGrWbzbu/rCsmI4cAvppAV7dCcRKNocXF vmware+megaport.rocks@example.net\",\n      \"vcoActivationCode\": \"8MEC-QGH3-MMYB-6PHV\",\n      \"vcoAddress\": \"vco.mve-rocks.example.com\",\n      \"vendor\": \"VMWARE\"\n    }\n  }\n]")
  .asString();
```

```php Buy MVE - VMware SD-WAN (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "locationId": 2,
    "productName": "My Test VMware MVE",
    "productType": "MVE",
    "term": 12,
    "vendorConfig": {
      "imageId": 15,
      "mveLabel": "MVE 2/8",
      "sshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5BiBnZATYFcX9GCoKAZV436CAbsFAvlA+NxHjcStk6s/iT+OkVUgiBtovwpQ8JgZgDQYE4riKKp7jA8xZibVgmm5gc2zsosPPzvHZaqqsWYSokArw3x+a4c0ntrg7noewJdtYVIneQYKsAyZcyKkRLF2ERMAavnv6ViuxWtkWCpcdXs+U4TayeILo43Nyk99EIDMi8EqAfYyBZvnjZKQ52gEK7mECYbP4Njm/hVXkxRZ1GxprnYnyQJkY/BXYxirfsBR8sRQwHnZvH6YvOq9orxU603gG/cyan7Tifsa/bH0nVHKHNepGrWbzbu/rCsmI4cAvppAV7dCcRKNocXF vmware+megaport.rocks@example.net",
      "vcoActivationCode": "8MEC-QGH3-MMYB-6PHV",
      "vcoAddress": "vco.mve-rocks.example.com",
      "vendor": "VMWARE"
    }
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy MVE - VMware SD-WAN (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"locationId\": 2,\n    \"productName\": \"My Test VMware MVE\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"vendorConfig\": {\n      \"imageId\": 15,\n      \"mveLabel\": \"MVE 2/8\",\n      \"sshPublicKey\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5BiBnZATYFcX9GCoKAZV436CAbsFAvlA+NxHjcStk6s/iT+OkVUgiBtovwpQ8JgZgDQYE4riKKp7jA8xZibVgmm5gc2zsosPPzvHZaqqsWYSokArw3x+a4c0ntrg7noewJdtYVIneQYKsAyZcyKkRLF2ERMAavnv6ViuxWtkWCpcdXs+U4TayeILo43Nyk99EIDMi8EqAfYyBZvnjZKQ52gEK7mECYbP4Njm/hVXkxRZ1GxprnYnyQJkY/BXYxirfsBR8sRQwHnZvH6YvOq9orxU603gG/cyan7Tifsa/bH0nVHKHNepGrWbzbu/rCsmI4cAvppAV7dCcRKNocXF vmware+megaport.rocks@example.net\",\n      \"vcoActivationCode\": \"8MEC-QGH3-MMYB-6PHV\",\n      \"vcoAddress\": \"vco.mve-rocks.example.com\",\n      \"vendor\": \"VMWARE\"\n    }\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - VMware SD-WAN (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "locationId": 2,
    "productName": "My Test VMware MVE",
    "productType": "MVE",
    "term": 12,
    "vendorConfig": [
      "imageId": 15,
      "mveLabel": "MVE 2/8",
      "sshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs5BiBnZATYFcX9GCoKAZV436CAbsFAvlA+NxHjcStk6s/iT+OkVUgiBtovwpQ8JgZgDQYE4riKKp7jA8xZibVgmm5gc2zsosPPzvHZaqqsWYSokArw3x+a4c0ntrg7noewJdtYVIneQYKsAyZcyKkRLF2ERMAavnv6ViuxWtkWCpcdXs+U4TayeILo43Nyk99EIDMi8EqAfYyBZvnjZKQ52gEK7mECYbP4Njm/hVXkxRZ1GxprnYnyQJkY/BXYxirfsBR8sRQwHnZvH6YvOq9orxU603gG/cyan7Tifsa/bH0nVHKHNepGrWbzbu/rCsmI4cAvppAV7dCcRKNocXF vmware+megaport.rocks@example.net",
      "vcoActivationCode": "8MEC-QGH3-MMYB-6PHV",
      "vcoAddress": "vco.mve-rocks.example.com",
      "vendor": "VMWARE"
    ]
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy MVE - Versa SD-WAN (v3)

**Request**

```json
[
  {
    "locationId": 88,
    "productName": "Test Versa Mve",
    "productType": "MVE",
    "term": 12,
    "vendorConfig": {
      "controllerAddress": "controller1.versa.com",
      "directorAddress": "director1.versa.com",
      "imageId": 20,
      "localAuth": "SDWAN-Branch@Versa.com",
      "mveLabel": "MVE 2/8",
      "remoteAuth": "Controller-1-staging@Versa.com",
      "serialNumber": "Megaport-Hub1",
      "vendor": "VERSA"
    }
  }
]
```

**Response**

```json
{
  "data": [
    {
      "aLocation": "lon-gs1",
      "aLocationId": 88,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 142534,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 12,
      "createDate": 1678234939985,
      "createdBy": "a30f6ea7-f94d-4032-8000-db6c3694ac3d",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "locked": false,
      "market": "UK",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "Test Versa Mve",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MVE",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": {},
      "rateType": "MONTHLY",
      "requestedDate": 1678234939985,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "Test Versa Mve",
      "tags": [],
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 150132,
      "technicalServiceUid": "9f3c259e-0367-46e4-bdb6-945d0bd47435",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "mveSize": "SMALL",
      "originDomain": {},
      "vendor": "VERSA"
    }
  ],
  "message": "MVE [9f3c259e-0367-46e4-bdb6-945d0bd47435] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - Versa SD-WAN (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "locationId": 88,
        "productName": "Test Versa Mve",
        "productType": "MVE",
        "term": 12,
        "vendorConfig": {
            "controllerAddress": "controller1.versa.com",
            "directorAddress": "director1.versa.com",
            "imageId": 20,
            "localAuth": "SDWAN-Branch@Versa.com",
            "mveLabel": "MVE 2/8",
            "remoteAuth": "Controller-1-staging@Versa.com",
            "serialNumber": "Megaport-Hub1",
            "vendor": "VERSA"
        }
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy MVE - Versa SD-WAN (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"locationId":88,"productName":"Test Versa Mve","productType":"MVE","term":12,"vendorConfig":{"controllerAddress":"controller1.versa.com","directorAddress":"director1.versa.com","imageId":20,"localAuth":"SDWAN-Branch@Versa.com","mveLabel":"MVE 2/8","remoteAuth":"Controller-1-staging@Versa.com","serialNumber":"Megaport-Hub1","vendor":"VERSA"}}]'
};

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

```go Buy MVE - Versa SD-WAN (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"locationId\": 88,\n    \"productName\": \"Test Versa Mve\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"vendorConfig\": {\n      \"controllerAddress\": \"controller1.versa.com\",\n      \"directorAddress\": \"director1.versa.com\",\n      \"imageId\": 20,\n      \"localAuth\": \"SDWAN-Branch@Versa.com\",\n      \"mveLabel\": \"MVE 2/8\",\n      \"remoteAuth\": \"Controller-1-staging@Versa.com\",\n      \"serialNumber\": \"Megaport-Hub1\",\n      \"vendor\": \"VERSA\"\n    }\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy MVE - Versa SD-WAN (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"locationId\": 88,\n    \"productName\": \"Test Versa Mve\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"vendorConfig\": {\n      \"controllerAddress\": \"controller1.versa.com\",\n      \"directorAddress\": \"director1.versa.com\",\n      \"imageId\": 20,\n      \"localAuth\": \"SDWAN-Branch@Versa.com\",\n      \"mveLabel\": \"MVE 2/8\",\n      \"remoteAuth\": \"Controller-1-staging@Versa.com\",\n      \"serialNumber\": \"Megaport-Hub1\",\n      \"vendor\": \"VERSA\"\n    }\n  }\n]"

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

```java Buy MVE - Versa SD-WAN (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"locationId\": 88,\n    \"productName\": \"Test Versa Mve\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"vendorConfig\": {\n      \"controllerAddress\": \"controller1.versa.com\",\n      \"directorAddress\": \"director1.versa.com\",\n      \"imageId\": 20,\n      \"localAuth\": \"SDWAN-Branch@Versa.com\",\n      \"mveLabel\": \"MVE 2/8\",\n      \"remoteAuth\": \"Controller-1-staging@Versa.com\",\n      \"serialNumber\": \"Megaport-Hub1\",\n      \"vendor\": \"VERSA\"\n    }\n  }\n]")
  .asString();
```

```php Buy MVE - Versa SD-WAN (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "locationId": 88,
    "productName": "Test Versa Mve",
    "productType": "MVE",
    "term": 12,
    "vendorConfig": {
      "controllerAddress": "controller1.versa.com",
      "directorAddress": "director1.versa.com",
      "imageId": 20,
      "localAuth": "SDWAN-Branch@Versa.com",
      "mveLabel": "MVE 2/8",
      "remoteAuth": "Controller-1-staging@Versa.com",
      "serialNumber": "Megaport-Hub1",
      "vendor": "VERSA"
    }
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy MVE - Versa SD-WAN (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"locationId\": 88,\n    \"productName\": \"Test Versa Mve\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"vendorConfig\": {\n      \"controllerAddress\": \"controller1.versa.com\",\n      \"directorAddress\": \"director1.versa.com\",\n      \"imageId\": 20,\n      \"localAuth\": \"SDWAN-Branch@Versa.com\",\n      \"mveLabel\": \"MVE 2/8\",\n      \"remoteAuth\": \"Controller-1-staging@Versa.com\",\n      \"serialNumber\": \"Megaport-Hub1\",\n      \"vendor\": \"VERSA\"\n    }\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - Versa SD-WAN (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "locationId": 88,
    "productName": "Test Versa Mve",
    "productType": "MVE",
    "term": 12,
    "vendorConfig": [
      "controllerAddress": "controller1.versa.com",
      "directorAddress": "director1.versa.com",
      "imageId": 20,
      "localAuth": "SDWAN-Branch@Versa.com",
      "mveLabel": "MVE 2/8",
      "remoteAuth": "Controller-1-staging@Versa.com",
      "serialNumber": "Megaport-Hub1",
      "vendor": "VERSA"
    ]
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy MVE - Versa SD-WAN with vNICs (v3)

**Response**

```json
{
  "data": [
    {
      "aLocation": "nyc-tx1",
      "aLocationId": 62,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 165237,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 1,
      "createDate": 1695023185206,
      "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": {},
      "locked": false,
      "market": "USA",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "My Small Versa MVE",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MVE",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": {},
      "rateType": "MONTHLY",
      "requestedDate": 1695023185206,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "My Small Versa MVE",
      "tags": [],
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 173376,
      "technicalServiceUid": "636da5e1-a5df-4c82-acb8-1246b05c6c11",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "aCountry": "USA",
      "aMetro": "New York",
      "bCountry": {},
      "bMetro": {},
      "lagId": {},
      "mveSize": "SMALL",
      "originDomain": {},
      "vendor": "VERSA"
    }
  ],
  "message": "MVE [636da5e1-a5df-4c82-acb8-1246b05c6c11] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - Versa SD-WAN with vNICs (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

response = requests.post(url)

print(response.json())
```

```javascript Buy MVE - Versa SD-WAN with vNICs (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {method: 'POST'};

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

```go Buy MVE - Versa SD-WAN with vNICs (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

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

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

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

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

}
```

```ruby Buy MVE - Versa SD-WAN with vNICs (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

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

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

```java Buy MVE - Versa SD-WAN with vNICs (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .asString();
```

```php Buy MVE - Versa SD-WAN with vNICs (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy');

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

```csharp Buy MVE - Versa SD-WAN with vNICs (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - Versa SD-WAN with vNICs (v3)
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

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

### Buy MVE - vNIC example (v3)

**Response**

```json
{
  "data": [
    {
      "aLocation": "lon-gs1",
      "aLocationId": 88,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 165229,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 12,
      "createDate": 1695018431813,
      "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": {},
      "locked": false,
      "market": "UK",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "Test Aruba MVE",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MVE",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": {},
      "rateType": "MONTHLY",
      "requestedDate": 1695018431813,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "Test Aruba MVE",
      "tags": [],
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 173368,
      "technicalServiceUid": "eef62dab-b30d-4f6f-90a6-4fd544694143",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "aCountry": "United Kingdom",
      "aMetro": "London",
      "bCountry": {},
      "bMetro": {},
      "lagId": {},
      "mveSize": "SMALL",
      "originDomain": {},
      "vendor": "ARUBA"
    }
  ],
  "message": "MVE [eef62dab-b30d-4f6f-90a6-4fd544694143] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - vNIC example (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

response = requests.post(url)

print(response.json())
```

```javascript Buy MVE - vNIC example (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {method: 'POST'};

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

```go Buy MVE - vNIC example (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

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

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

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

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

}
```

```ruby Buy MVE - vNIC example (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

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

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

```java Buy MVE - vNIC example (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .asString();
```

```php Buy MVE - vNIC example (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy');

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

```csharp Buy MVE - vNIC example (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - vNIC example (v3)
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

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

### Buy Megaport Internet (v3)

**Request**

```json
[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "vlan": 2001
        },
        "bEnd": {
          "productUid": "3091048b-22ec-4acc-90ed-62c744df4d8c",
          "vlan": 2002
        },
        "connectType": "TRANSIT",
        "productName": "My API VXC - Atlanta to Bay Area",
        "rateLimit": 500
      }
    ],
    "productUid": "4e40c2fb-a261-4555-af76-6fb01912279a"
  }
]
```

**Response**

```json
{
  "data": [
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1681927633762,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "salesId": null,
      "serviceName": "from My Small Versa MVE to Megaport IP Transit",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "TRANSIT",
      "dealUid": {},
      "discountMonths": {},
      "distanceBand": "DATA_CENTRE",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": true,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": 1681927633753,
      "nonPayerApproverId": 50402,
      "nonPayerApproverName": "Greg Brown",
      "nonPayerCompanyName": "Networks",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 61,
      "nonPayerMegaPortId": 81110,
      "nonPayerMegaPortName": "Megaport IP Transit",
      "nonPayerMegaPortNsId": 180904,
      "nonPayerStatus": "APPROVED",
      "nonPayerVlanId": 2002,
      "oracleVirtualCircuitId": {},
      "orderType": "NEW",
      "originDomain": {},
      "payerApproval": 1681927633685,
      "payerApproverId": 50402,
      "payerApproverName": "Greg Brown",
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": {},
      "payerLocationId": 62,
      "payerMegaPortId": 157225,
      "payerMegaPortName": "My Small Versa MVE",
      "payerMegaPortNsId": 404435,
      "payerStatus": "APPROVED",
      "payerVlanId": 2001,
      "promoCode": {},
      "provisionDate": 1681927633672,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": {},
      "serviceLicense": {},
      "setup": {},
      "speed": 500,
      "usageAlgorithm": "POST_PAID_HOURLY_NORMALISED_SPEED",
      "vxc": {
        "aLocation": null,
        "aLocationId": null,
        "accountManager": null,
        "adminContactId": null,
        "adminContactName": null,
        "adminLocked": false,
        "attributeTags": {},
        "attributes": [],
        "bLocation": null,
        "bLocationId": null,
        "bgpShutdownDefault": false,
        "billableId": 149176,
        "billableUsageAlgorithm": null,
        "billingContactId": null,
        "billingContactName": null,
        "buyoutPort": null,
        "companyId": 1153,
        "companyName": "Megaport Lab",
        "components": [],
        "configuredDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1681927633726,
        "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
        "currentEstimatedDelivery": null,
        "errorMessage": null,
        "failedReason": null,
        "inAdvanceBillingStatus": null,
        "intercapPath": "",
        "locked": false,
        "market": "USA",
        "marketplaceVisibility": true,
        "maximumSpeed": null,
        "minimumSpeed": null,
        "name": "My API VXC - Atlanta to Bay Area",
        "nonPayerCompanyId": null,
        "originDomain": null,
        "payerCompanyId": null,
        "productType": "VXC",
        "promptUid": null,
        "provisioningItems": [],
        "provisioningStatus": "DEPLOYABLE",
        "rateLimit": 500,
        "rateType": "MONTHLY",
        "requestedDate": 1681927633672,
        "salesId": null,
        "salesName": null,
        "secondaryName": null,
        "serviceName": "My API VXC - Atlanta to Bay Area",
        "tags": [],
        "technicalContactId": null,
        "technicalContactName": null,
        "technicalServiceId": 157226,
        "technicalServiceUid": "ec3ca6cb-1c61-40fd-83f5-eddb3788d578",
        "terminationDate": null,
        "trialAgreement": false,
        "virtual": false,
        "vxcAutoApproval": false,
        "vxcDistanceBand": "DATA_CENTRE",
        "vxcPermitted": true
      },
      "vxcJTechnicalServiceId": 157226,
      "vxcJTechnicalServiceUid": "ec3ca6cb-1c61-40fd-83f5-eddb3788d578",
      "vxcOrderId": 115160,
      "webAirProvItem": {}
    }
  ],
  "message": "VXC [ec3ca6cb-1c61-40fd-83f5-eddb3788d578] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy Megaport Internet (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "associatedVxcs": [
            {
                "aEnd": { "vlan": 2001 },
                "bEnd": {
                    "productUid": "3091048b-22ec-4acc-90ed-62c744df4d8c",
                    "vlan": 2002
                },
                "connectType": "TRANSIT",
                "productName": "My API VXC - Atlanta to Bay Area",
                "rateLimit": 500
            }
        ],
        "productUid": "4e40c2fb-a261-4555-af76-6fb01912279a"
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy Megaport Internet (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"associatedVxcs":[{"aEnd":{"vlan":2001},"bEnd":{"productUid":"3091048b-22ec-4acc-90ed-62c744df4d8c","vlan":2002},"connectType":"TRANSIT","productName":"My API VXC - Atlanta to Bay Area","rateLimit":500}],"productUid":"4e40c2fb-a261-4555-af76-6fb01912279a"}]'
};

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

```go Buy Megaport Internet (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 2001\n        },\n        \"bEnd\": {\n          \"productUid\": \"3091048b-22ec-4acc-90ed-62c744df4d8c\",\n          \"vlan\": 2002\n        },\n        \"connectType\": \"TRANSIT\",\n        \"productName\": \"My API VXC - Atlanta to Bay Area\",\n        \"rateLimit\": 500\n      }\n    ],\n    \"productUid\": \"4e40c2fb-a261-4555-af76-6fb01912279a\"\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy Megaport Internet (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 2001\n        },\n        \"bEnd\": {\n          \"productUid\": \"3091048b-22ec-4acc-90ed-62c744df4d8c\",\n          \"vlan\": 2002\n        },\n        \"connectType\": \"TRANSIT\",\n        \"productName\": \"My API VXC - Atlanta to Bay Area\",\n        \"rateLimit\": 500\n      }\n    ],\n    \"productUid\": \"4e40c2fb-a261-4555-af76-6fb01912279a\"\n  }\n]"

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

```java Buy Megaport Internet (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 2001\n        },\n        \"bEnd\": {\n          \"productUid\": \"3091048b-22ec-4acc-90ed-62c744df4d8c\",\n          \"vlan\": 2002\n        },\n        \"connectType\": \"TRANSIT\",\n        \"productName\": \"My API VXC - Atlanta to Bay Area\",\n        \"rateLimit\": 500\n      }\n    ],\n    \"productUid\": \"4e40c2fb-a261-4555-af76-6fb01912279a\"\n  }\n]")
  .asString();
```

```php Buy Megaport Internet (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "vlan": 2001
        },
        "bEnd": {
          "productUid": "3091048b-22ec-4acc-90ed-62c744df4d8c",
          "vlan": 2002
        },
        "connectType": "TRANSIT",
        "productName": "My API VXC - Atlanta to Bay Area",
        "rateLimit": 500
      }
    ],
    "productUid": "4e40c2fb-a261-4555-af76-6fb01912279a"
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy Megaport Internet (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 2001\n        },\n        \"bEnd\": {\n          \"productUid\": \"3091048b-22ec-4acc-90ed-62c744df4d8c\",\n          \"vlan\": 2002\n        },\n        \"connectType\": \"TRANSIT\",\n        \"productName\": \"My API VXC - Atlanta to Bay Area\",\n        \"rateLimit\": 500\n      }\n    ],\n    \"productUid\": \"4e40c2fb-a261-4555-af76-6fb01912279a\"\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy Megaport Internet (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "associatedVxcs": [
      [
        "aEnd": ["vlan": 2001],
        "bEnd": [
          "productUid": "3091048b-22ec-4acc-90ed-62c744df4d8c",
          "vlan": 2002
        ],
        "connectType": "TRANSIT",
        "productName": "My API VXC - Atlanta to Bay Area",
        "rateLimit": 500
      ]
    ],
    "productUid": "4e40c2fb-a261-4555-af76-6fb01912279a"
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy Megaport Internet with vNICs (v3)

**Response**

```json
{
  "data": [
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1695189276194,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "salesId": null,
      "serviceName": "from Test Aruba MVE docs to Megaport IP Transit",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "TRANSIT",
      "dealUid": {},
      "discountMonths": {},
      "distanceBand": "DATA_CENTRE",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": true,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": 1695189276185,
      "nonPayerApproverId": 50402,
      "nonPayerApproverName": "Greg Brown",
      "nonPayerCompanyName": "Networks",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 85,
      "nonPayerMegaPortId": 82534,
      "nonPayerMegaPortName": "Megaport IP Transit",
      "nonPayerMegaPortNsId": 183738,
      "nonPayerStatus": "APPROVED",
      "nonPayerVlanId": 0,
      "oracleVirtualCircuitId": {},
      "orderType": "NEW",
      "originDomain": {},
      "payerApproval": 1695189276151,
      "payerApproverId": 50402,
      "payerApproverName": "Greg Brown",
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": {},
      "payerLocationId": 87,
      "payerMegaPortId": 173269,
      "payerMegaPortName": "Test Aruba MVE docs",
      "payerMegaPortNsId": 455750,
      "payerStatus": "APPROVED",
      "payerVlanId": 0,
      "promoCode": {},
      "provisionDate": 1695189276146,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": {},
      "serviceLicense": {},
      "setup": {},
      "speed": 10000,
      "usageAlgorithm": "POST_PAID_HOURLY_NORMALISED_SPEED",
      "vxc": {
        "aCountry": null,
        "aLocation": null,
        "aLocationId": null,
        "aMetro": null,
        "accountManager": null,
        "adminContactId": null,
        "adminContactName": null,
        "adminLocked": false,
        "aggregationId": null,
        "attributeTags": {},
        "attributes": [],
        "bCountry": null,
        "bLocation": null,
        "bLocationId": null,
        "bMetro": null,
        "bgpShutdownDefault": false,
        "billableId": 165132,
        "billableUsageAlgorithm": null,
        "billingContactId": null,
        "billingContactName": null,
        "buyoutPort": null,
        "companyId": 1153,
        "companyName": "Megaport Lab",
        "components": [],
        "configuredDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1695189276174,
        "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
        "currentEstimatedDelivery": null,
        "errorMessage": null,
        "failedReason": null,
        "inAdvanceBillingStatus": null,
        "intercapPath": "",
        "lagId": null,
        "lagPrimary": null,
        "locked": false,
        "market": "Netherlands",
        "marketplaceVisibility": true,
        "maximumSpeed": null,
        "minimumSpeed": null,
        "name": "Example Transit VXC",
        "nonPayerCompanyId": null,
        "originDomain": null,
        "payerCompanyId": null,
        "productType": "VXC",
        "promptUid": null,
        "provisioningItems": [],
        "provisioningStatus": "DEPLOYABLE",
        "rateLimit": 10000,
        "rateType": "MONTHLY",
        "requestedDate": 1695189276146,
        "salesId": null,
        "salesName": null,
        "secondaryName": null,
        "serviceName": "Example Transit VXC",
        "tags": [],
        "technicalContactId": null,
        "technicalContactName": null,
        "technicalServiceId": 173270,
        "technicalServiceUid": "a38258ba-ec91-494a-81d1-56d7abfae088",
        "terminationDate": null,
        "trialAgreement": false,
        "virtual": false,
        "vxcAutoApproval": false,
        "vxcDistanceBand": "DATA_CENTRE",
        "vxcPermitted": true
      },
      "vxcJTechnicalServiceId": 173270,
      "vxcJTechnicalServiceUid": "a38258ba-ec91-494a-81d1-56d7abfae088",
      "vxcOrderId": 127846,
      "webAirProvItem": {}
    }
  ],
  "message": "VXC [a38258ba-ec91-494a-81d1-56d7abfae088] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy Megaport Internet with vNICs (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

response = requests.post(url)

print(response.json())
```

```javascript Buy Megaport Internet with vNICs (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {method: 'POST'};

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

```go Buy Megaport Internet with vNICs (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

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

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

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

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

}
```

```ruby Buy Megaport Internet with vNICs (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

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

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

```java Buy Megaport Internet with vNICs (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .asString();
```

```php Buy Megaport Internet with vNICs (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy');

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

```csharp Buy Megaport Internet with vNICs (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
```

```swift Buy Megaport Internet with vNICs (v3)
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

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

### Buy Palo Alto Megaport Internet (v3)

**Request**

```json
[
  {
    "locationId": 23,
    "portSpeed": 1000,
    "productName": "PA Mve Example",
    "productType": "MVE",
    "associatedIxs": [],
    "associatedVxcs": [
      {
        "aEnd": {
          "vNicIndex": 0
        },
        "bEnd": {
          "productUid": "874dbcff-a1f9-4328-9c08-112cd87c20f6"
        },
        "connectType": "TRANSIT",
        "productName": "IP Transit VXC Customised",
        "productType": "VXC",
        "rateLimit": 5000,
        "serviceLicense": {
          "type": "PREPAID"
        }
      }
    ],
    "vendorConfig": {
      "adminPasswordHash": "$5$abcdefg/.h$Uzt5FEFjN7FktWr.ffwOReqHHOqsPrD/xWZM1UhlGbI",
      "cpuCount": 2,
      "imageId": 32,
      "mveLabel": "MVE 2/8",
      "sshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsG1/Lnqxe9V6+R6w7Zraq2z70dCwAcKv9zGf+jj156zagEvosLqtmzJ88LN52eAN3/11eBzS7ADsJKFPbRgJk1eZKwW+Kl/r4TVg+XIzMlPPIlZmXopWFDhvkHL8P/OGLps28GWyKOUHVmerd93nSjOdl//1wCAE9cn2sWPJvn5aYbP6o2R52AIDaVCMkObls1Z/9p/NykI6aZWn8L29wVuYztcMAz/SQQuCVAVn0ToqjfMcJzDgEPUnQtjm1NCSnd0o48kOIwS4GpnBB2OVxy0vC9tpZHeu7NZPepQ6ma05XuHUnZESUTJPXE9ynVI04P6M4z+aPTbFesjmEW+O7",
      "vendor": "PALO_ALTO"
    },
    "vxcpermitted": true
  }
]
```

**Response**

```json
{
  "data": [
    {
      "aLocation": "mel-mdc",
      "aLocationId": 23,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 149108,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 1,
      "createDate": 1681774030884,
      "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "locked": false,
      "market": "Australia",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "PA Mve Example",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MVE",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": 1000,
      "rateType": "MONTHLY",
      "requestedDate": 1681774030884,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "PA Mve Example",
      "tags": [],
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 157167,
      "technicalServiceUid": "9272b9c6-9e9c-4998-b6fe-80934485540c",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "mveSize": "SMALL",
      "originDomain": {},
      "vendor": "PALO_ALTO"
    },
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1681774031574,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "salesId": null,
      "serviceName": "from PA Mve Example to Megaport IP Transit",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "TRANSIT",
      "dealUid": {},
      "discountMonths": {},
      "distanceBand": "DATA_CENTRE",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": true,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": 1681774031551,
      "nonPayerApproverId": 50402,
      "nonPayerApproverName": "Greg Brown",
      "nonPayerCompanyName": "Networks",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 23,
      "nonPayerMegaPortId": 93815,
      "nonPayerMegaPortName": "Megaport IP Transit",
      "nonPayerMegaPortNsId": 212924,
      "nonPayerStatus": "APPROVED",
      "nonPayerVlanId": 0,
      "oracleVirtualCircuitId": {},
      "orderType": "NEW",
      "originDomain": {},
      "payerApproval": {},
      "payerApproverId": {},
      "payerApproverName": {},
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": {},
      "payerLocationId": 23,
      "payerMegaPortId": 157167,
      "payerMegaPortName": "PA Mve Example",
      "payerMegaPortNsId": 404263,
      "payerStatus": "APPROVED",
      "payerVlanId": 3321,
      "promoCode": {},
      "provisionDate": 1681774031515,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": {},
      "serviceLicense": {},
      "setup": {},
      "speed": 5000,
      "usageAlgorithm": "POST_PAID_HOURLY_NORMALISED_SPEED",
      "vxc": {
        "aLocation": null,
        "aLocationId": null,
        "accountManager": null,
        "adminContactId": null,
        "adminContactName": null,
        "adminLocked": false,
        "attributeTags": {},
        "attributes": [],
        "bLocation": null,
        "bLocationId": null,
        "bgpShutdownDefault": false,
        "billableId": 149110,
        "billableUsageAlgorithm": null,
        "billingContactId": null,
        "billingContactName": null,
        "buyoutPort": null,
        "companyId": 1153,
        "companyName": "Megaport Lab",
        "components": [],
        "configuredDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1681774031541,
        "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
        "currentEstimatedDelivery": null,
        "errorMessage": null,
        "failedReason": null,
        "inAdvanceBillingStatus": null,
        "intercapPath": "",
        "locked": false,
        "market": "Australia",
        "marketplaceVisibility": true,
        "maximumSpeed": null,
        "minimumSpeed": null,
        "name": "IP Transit VXC Customised",
        "nonPayerCompanyId": null,
        "originDomain": null,
        "payerCompanyId": null,
        "productType": "VXC",
        "promptUid": null,
        "provisioningItems": [],
        "provisioningStatus": "DEPLOYABLE",
        "rateLimit": 5000,
        "rateType": "MONTHLY",
        "requestedDate": 1681774031515,
        "salesId": null,
        "salesName": null,
        "secondaryName": null,
        "serviceName": "IP Transit VXC Customised",
        "tags": [],
        "technicalContactId": null,
        "technicalContactName": null,
        "technicalServiceId": 157168,
        "technicalServiceUid": "36dc7f28-d945-4f2c-a18d-26c37d794849",
        "terminationDate": null,
        "trialAgreement": false,
        "virtual": false,
        "vxcAutoApproval": false,
        "vxcDistanceBand": "DATA_CENTRE",
        "vxcPermitted": true
      },
      "vxcJTechnicalServiceId": 157168,
      "vxcJTechnicalServiceUid": "36dc7f28-d945-4f2c-a18d-26c37d794849",
      "vxcOrderId": 115132,
      "webAirProvItem": {}
    }
  ],
  "message": "MVE [9272b9c6-9e9c-4998-b6fe-80934485540c] creado. VXC [36dc7f28-d945-4f2c-a18d-26c37d794849] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy Palo Alto Megaport Internet (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "locationId": 23,
        "portSpeed": 1000,
        "productName": "PA Mve Example",
        "productType": "MVE",
        "associatedIxs": [],
        "associatedVxcs": [
            {
                "aEnd": { "vNicIndex": 0 },
                "bEnd": { "productUid": "874dbcff-a1f9-4328-9c08-112cd87c20f6" },
                "connectType": "TRANSIT",
                "productName": "IP Transit VXC Customised",
                "productType": "VXC",
                "rateLimit": 5000,
                "serviceLicense": { "type": "PREPAID" }
            }
        ],
        "vendorConfig": {
            "adminPasswordHash": "$5$abcdefg/.h$Uzt5FEFjN7FktWr.ffwOReqHHOqsPrD/xWZM1UhlGbI",
            "cpuCount": 2,
            "imageId": 32,
            "mveLabel": "MVE 2/8",
            "sshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsG1/Lnqxe9V6+R6w7Zraq2z70dCwAcKv9zGf+jj156zagEvosLqtmzJ88LN52eAN3/11eBzS7ADsJKFPbRgJk1eZKwW+Kl/r4TVg+XIzMlPPIlZmXopWFDhvkHL8P/OGLps28GWyKOUHVmerd93nSjOdl//1wCAE9cn2sWPJvn5aYbP6o2R52AIDaVCMkObls1Z/9p/NykI6aZWn8L29wVuYztcMAz/SQQuCVAVn0ToqjfMcJzDgEPUnQtjm1NCSnd0o48kOIwS4GpnBB2OVxy0vC9tpZHeu7NZPepQ6ma05XuHUnZESUTJPXE9ynVI04P6M4z+aPTbFesjmEW+O7",
            "vendor": "PALO_ALTO"
        },
        "vxcpermitted": True
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy Palo Alto Megaport Internet (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"locationId":23,"portSpeed":1000,"productName":"PA Mve Example","productType":"MVE","associatedIxs":[],"associatedVxcs":[{"aEnd":{"vNicIndex":0},"bEnd":{"productUid":"874dbcff-a1f9-4328-9c08-112cd87c20f6"},"connectType":"TRANSIT","productName":"IP Transit VXC Customised","productType":"VXC","rateLimit":5000,"serviceLicense":{"type":"PREPAID"}}],"vendorConfig":{"adminPasswordHash":"$5$abcdefg/.h$Uzt5FEFjN7FktWr.ffwOReqHHOqsPrD/xWZM1UhlGbI","cpuCount":2,"imageId":32,"mveLabel":"MVE 2/8","sshPublicKey":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsG1/Lnqxe9V6+R6w7Zraq2z70dCwAcKv9zGf+jj156zagEvosLqtmzJ88LN52eAN3/11eBzS7ADsJKFPbRgJk1eZKwW+Kl/r4TVg+XIzMlPPIlZmXopWFDhvkHL8P/OGLps28GWyKOUHVmerd93nSjOdl//1wCAE9cn2sWPJvn5aYbP6o2R52AIDaVCMkObls1Z/9p/NykI6aZWn8L29wVuYztcMAz/SQQuCVAVn0ToqjfMcJzDgEPUnQtjm1NCSnd0o48kOIwS4GpnBB2OVxy0vC9tpZHeu7NZPepQ6ma05XuHUnZESUTJPXE9ynVI04P6M4z+aPTbFesjmEW+O7","vendor":"PALO_ALTO"},"vxcpermitted":true}]'
};

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

```go Buy Palo Alto Megaport Internet (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"locationId\": 23,\n    \"portSpeed\": 1000,\n    \"productName\": \"PA Mve Example\",\n    \"productType\": \"MVE\",\n    \"associatedIxs\": [],\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vNicIndex\": 0\n        },\n        \"bEnd\": {\n          \"productUid\": \"874dbcff-a1f9-4328-9c08-112cd87c20f6\"\n        },\n        \"connectType\": \"TRANSIT\",\n        \"productName\": \"IP Transit VXC Customised\",\n        \"productType\": \"VXC\",\n        \"rateLimit\": 5000,\n        \"serviceLicense\": {\n          \"type\": \"PREPAID\"\n        }\n      }\n    ],\n    \"vendorConfig\": {\n      \"adminPasswordHash\": \"$5$abcdefg/.h$Uzt5FEFjN7FktWr.ffwOReqHHOqsPrD/xWZM1UhlGbI\",\n      \"cpuCount\": 2,\n      \"imageId\": 32,\n      \"mveLabel\": \"MVE 2/8\",\n      \"sshPublicKey\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsG1/Lnqxe9V6+R6w7Zraq2z70dCwAcKv9zGf+jj156zagEvosLqtmzJ88LN52eAN3/11eBzS7ADsJKFPbRgJk1eZKwW+Kl/r4TVg+XIzMlPPIlZmXopWFDhvkHL8P/OGLps28GWyKOUHVmerd93nSjOdl//1wCAE9cn2sWPJvn5aYbP6o2R52AIDaVCMkObls1Z/9p/NykI6aZWn8L29wVuYztcMAz/SQQuCVAVn0ToqjfMcJzDgEPUnQtjm1NCSnd0o48kOIwS4GpnBB2OVxy0vC9tpZHeu7NZPepQ6ma05XuHUnZESUTJPXE9ynVI04P6M4z+aPTbFesjmEW+O7\",\n      \"vendor\": \"PALO_ALTO\"\n    },\n    \"vxcpermitted\": true\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy Palo Alto Megaport Internet (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"locationId\": 23,\n    \"portSpeed\": 1000,\n    \"productName\": \"PA Mve Example\",\n    \"productType\": \"MVE\",\n    \"associatedIxs\": [],\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vNicIndex\": 0\n        },\n        \"bEnd\": {\n          \"productUid\": \"874dbcff-a1f9-4328-9c08-112cd87c20f6\"\n        },\n        \"connectType\": \"TRANSIT\",\n        \"productName\": \"IP Transit VXC Customised\",\n        \"productType\": \"VXC\",\n        \"rateLimit\": 5000,\n        \"serviceLicense\": {\n          \"type\": \"PREPAID\"\n        }\n      }\n    ],\n    \"vendorConfig\": {\n      \"adminPasswordHash\": \"$5$abcdefg/.h$Uzt5FEFjN7FktWr.ffwOReqHHOqsPrD/xWZM1UhlGbI\",\n      \"cpuCount\": 2,\n      \"imageId\": 32,\n      \"mveLabel\": \"MVE 2/8\",\n      \"sshPublicKey\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsG1/Lnqxe9V6+R6w7Zraq2z70dCwAcKv9zGf+jj156zagEvosLqtmzJ88LN52eAN3/11eBzS7ADsJKFPbRgJk1eZKwW+Kl/r4TVg+XIzMlPPIlZmXopWFDhvkHL8P/OGLps28GWyKOUHVmerd93nSjOdl//1wCAE9cn2sWPJvn5aYbP6o2R52AIDaVCMkObls1Z/9p/NykI6aZWn8L29wVuYztcMAz/SQQuCVAVn0ToqjfMcJzDgEPUnQtjm1NCSnd0o48kOIwS4GpnBB2OVxy0vC9tpZHeu7NZPepQ6ma05XuHUnZESUTJPXE9ynVI04P6M4z+aPTbFesjmEW+O7\",\n      \"vendor\": \"PALO_ALTO\"\n    },\n    \"vxcpermitted\": true\n  }\n]"

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

```java Buy Palo Alto Megaport Internet (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"locationId\": 23,\n    \"portSpeed\": 1000,\n    \"productName\": \"PA Mve Example\",\n    \"productType\": \"MVE\",\n    \"associatedIxs\": [],\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vNicIndex\": 0\n        },\n        \"bEnd\": {\n          \"productUid\": \"874dbcff-a1f9-4328-9c08-112cd87c20f6\"\n        },\n        \"connectType\": \"TRANSIT\",\n        \"productName\": \"IP Transit VXC Customised\",\n        \"productType\": \"VXC\",\n        \"rateLimit\": 5000,\n        \"serviceLicense\": {\n          \"type\": \"PREPAID\"\n        }\n      }\n    ],\n    \"vendorConfig\": {\n      \"adminPasswordHash\": \"$5$abcdefg/.h$Uzt5FEFjN7FktWr.ffwOReqHHOqsPrD/xWZM1UhlGbI\",\n      \"cpuCount\": 2,\n      \"imageId\": 32,\n      \"mveLabel\": \"MVE 2/8\",\n      \"sshPublicKey\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsG1/Lnqxe9V6+R6w7Zraq2z70dCwAcKv9zGf+jj156zagEvosLqtmzJ88LN52eAN3/11eBzS7ADsJKFPbRgJk1eZKwW+Kl/r4TVg+XIzMlPPIlZmXopWFDhvkHL8P/OGLps28GWyKOUHVmerd93nSjOdl//1wCAE9cn2sWPJvn5aYbP6o2R52AIDaVCMkObls1Z/9p/NykI6aZWn8L29wVuYztcMAz/SQQuCVAVn0ToqjfMcJzDgEPUnQtjm1NCSnd0o48kOIwS4GpnBB2OVxy0vC9tpZHeu7NZPepQ6ma05XuHUnZESUTJPXE9ynVI04P6M4z+aPTbFesjmEW+O7\",\n      \"vendor\": \"PALO_ALTO\"\n    },\n    \"vxcpermitted\": true\n  }\n]")
  .asString();
```

```php Buy Palo Alto Megaport Internet (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "locationId": 23,
    "portSpeed": 1000,
    "productName": "PA Mve Example",
    "productType": "MVE",
    "associatedIxs": [],
    "associatedVxcs": [
      {
        "aEnd": {
          "vNicIndex": 0
        },
        "bEnd": {
          "productUid": "874dbcff-a1f9-4328-9c08-112cd87c20f6"
        },
        "connectType": "TRANSIT",
        "productName": "IP Transit VXC Customised",
        "productType": "VXC",
        "rateLimit": 5000,
        "serviceLicense": {
          "type": "PREPAID"
        }
      }
    ],
    "vendorConfig": {
      "adminPasswordHash": "$5$abcdefg/.h$Uzt5FEFjN7FktWr.ffwOReqHHOqsPrD/xWZM1UhlGbI",
      "cpuCount": 2,
      "imageId": 32,
      "mveLabel": "MVE 2/8",
      "sshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsG1/Lnqxe9V6+R6w7Zraq2z70dCwAcKv9zGf+jj156zagEvosLqtmzJ88LN52eAN3/11eBzS7ADsJKFPbRgJk1eZKwW+Kl/r4TVg+XIzMlPPIlZmXopWFDhvkHL8P/OGLps28GWyKOUHVmerd93nSjOdl//1wCAE9cn2sWPJvn5aYbP6o2R52AIDaVCMkObls1Z/9p/NykI6aZWn8L29wVuYztcMAz/SQQuCVAVn0ToqjfMcJzDgEPUnQtjm1NCSnd0o48kOIwS4GpnBB2OVxy0vC9tpZHeu7NZPepQ6ma05XuHUnZESUTJPXE9ynVI04P6M4z+aPTbFesjmEW+O7",
      "vendor": "PALO_ALTO"
    },
    "vxcpermitted": true
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy Palo Alto Megaport Internet (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"locationId\": 23,\n    \"portSpeed\": 1000,\n    \"productName\": \"PA Mve Example\",\n    \"productType\": \"MVE\",\n    \"associatedIxs\": [],\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vNicIndex\": 0\n        },\n        \"bEnd\": {\n          \"productUid\": \"874dbcff-a1f9-4328-9c08-112cd87c20f6\"\n        },\n        \"connectType\": \"TRANSIT\",\n        \"productName\": \"IP Transit VXC Customised\",\n        \"productType\": \"VXC\",\n        \"rateLimit\": 5000,\n        \"serviceLicense\": {\n          \"type\": \"PREPAID\"\n        }\n      }\n    ],\n    \"vendorConfig\": {\n      \"adminPasswordHash\": \"$5$abcdefg/.h$Uzt5FEFjN7FktWr.ffwOReqHHOqsPrD/xWZM1UhlGbI\",\n      \"cpuCount\": 2,\n      \"imageId\": 32,\n      \"mveLabel\": \"MVE 2/8\",\n      \"sshPublicKey\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsG1/Lnqxe9V6+R6w7Zraq2z70dCwAcKv9zGf+jj156zagEvosLqtmzJ88LN52eAN3/11eBzS7ADsJKFPbRgJk1eZKwW+Kl/r4TVg+XIzMlPPIlZmXopWFDhvkHL8P/OGLps28GWyKOUHVmerd93nSjOdl//1wCAE9cn2sWPJvn5aYbP6o2R52AIDaVCMkObls1Z/9p/NykI6aZWn8L29wVuYztcMAz/SQQuCVAVn0ToqjfMcJzDgEPUnQtjm1NCSnd0o48kOIwS4GpnBB2OVxy0vC9tpZHeu7NZPepQ6ma05XuHUnZESUTJPXE9ynVI04P6M4z+aPTbFesjmEW+O7\",\n      \"vendor\": \"PALO_ALTO\"\n    },\n    \"vxcpermitted\": true\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy Palo Alto Megaport Internet (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "locationId": 23,
    "portSpeed": 1000,
    "productName": "PA Mve Example",
    "productType": "MVE",
    "associatedIxs": [],
    "associatedVxcs": [
      [
        "aEnd": ["vNicIndex": 0],
        "bEnd": ["productUid": "874dbcff-a1f9-4328-9c08-112cd87c20f6"],
        "connectType": "TRANSIT",
        "productName": "IP Transit VXC Customised",
        "productType": "VXC",
        "rateLimit": 5000,
        "serviceLicense": ["type": "PREPAID"]
      ]
    ],
    "vendorConfig": [
      "adminPasswordHash": "$5$abcdefg/.h$Uzt5FEFjN7FktWr.ffwOReqHHOqsPrD/xWZM1UhlGbI",
      "cpuCount": 2,
      "imageId": 32,
      "mveLabel": "MVE 2/8",
      "sshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsG1/Lnqxe9V6+R6w7Zraq2z70dCwAcKv9zGf+jj156zagEvosLqtmzJ88LN52eAN3/11eBzS7ADsJKFPbRgJk1eZKwW+Kl/r4TVg+XIzMlPPIlZmXopWFDhvkHL8P/OGLps28GWyKOUHVmerd93nSjOdl//1wCAE9cn2sWPJvn5aYbP6o2R52AIDaVCMkObls1Z/9p/NykI6aZWn8L29wVuYztcMAz/SQQuCVAVn0ToqjfMcJzDgEPUnQtjm1NCSnd0o48kOIwS4GpnBB2OVxy0vC9tpZHeu7NZPepQ6ma05XuHUnZESUTJPXE9ynVI04P6M4z+aPTbFesjmEW+O7",
      "vendor": "PALO_ALTO"
    ],
    "vxcpermitted": true
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy Port (v3)

**Request**

```json
[
  {
    "costCentre": "Optional finance reference",
    "locationId": 60,
    "market": "US",
    "portSpeed": 10000,
    "productName": "Test Port",
    "productType": "MEGAPORT",
    "term": 12,
    "config": {
      "diversityZone": "red"
    }
  }
]
```

**Response**

```json
{
  "data": [
    {
      "aLocation": "lax-cs1",
      "aLocationId": 60,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 95305,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 12,
      "costCentre": "Optional finance reference",
      "createDate": 1631818828393,
      "createdBy": "6223425b-e19c-4337-85e6-dffaac81350c",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": false,
      "locked": false,
      "market": "USA",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "Test Port",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MEGAPORT",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": 10000,
      "rateType": "MONTHLY",
      "requestedDate": 1631818828393,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "Test Port",
      "tags": [],
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 98061,
      "technicalServiceUid": "9d6c5a0c-6a00-495a-b610-b4b76a9d5a24",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true
    }
  ],
  "message": "MEGAPORT [9d6c5a0c-6a00-495a-b610-b4b76a9d5a24] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy Port (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "costCentre": "Optional finance reference",
        "locationId": 60,
        "market": "US",
        "portSpeed": 10000,
        "productName": "Test Port",
        "productType": "MEGAPORT",
        "term": 12,
        "config": { "diversityZone": "red" }
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy Port (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"costCentre":"Optional finance reference","locationId":60,"market":"US","portSpeed":10000,"productName":"Test Port","productType":"MEGAPORT","term":12,"config":{"diversityZone":"red"}}]'
};

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

```go Buy Port (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"costCentre\": \"Optional finance reference\",\n    \"locationId\": 60,\n    \"market\": \"US\",\n    \"portSpeed\": 10000,\n    \"productName\": \"Test Port\",\n    \"productType\": \"MEGAPORT\",\n    \"term\": 12,\n    \"config\": {\n      \"diversityZone\": \"red\"\n    }\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy Port (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"costCentre\": \"Optional finance reference\",\n    \"locationId\": 60,\n    \"market\": \"US\",\n    \"portSpeed\": 10000,\n    \"productName\": \"Test Port\",\n    \"productType\": \"MEGAPORT\",\n    \"term\": 12,\n    \"config\": {\n      \"diversityZone\": \"red\"\n    }\n  }\n]"

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

```java Buy Port (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"costCentre\": \"Optional finance reference\",\n    \"locationId\": 60,\n    \"market\": \"US\",\n    \"portSpeed\": 10000,\n    \"productName\": \"Test Port\",\n    \"productType\": \"MEGAPORT\",\n    \"term\": 12,\n    \"config\": {\n      \"diversityZone\": \"red\"\n    }\n  }\n]")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "costCentre": "Optional finance reference",
    "locationId": 60,
    "market": "US",
    "portSpeed": 10000,
    "productName": "Test Port",
    "productType": "MEGAPORT",
    "term": 12,
    "config": {
      "diversityZone": "red"
    }
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy Port (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"costCentre\": \"Optional finance reference\",\n    \"locationId\": 60,\n    \"market\": \"US\",\n    \"portSpeed\": 10000,\n    \"productName\": \"Test Port\",\n    \"productType\": \"MEGAPORT\",\n    \"term\": 12,\n    \"config\": {\n      \"diversityZone\": \"red\"\n    }\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy Port (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "costCentre": "Optional finance reference",
    "locationId": 60,
    "market": "US",
    "portSpeed": 10000,
    "productName": "Test Port",
    "productType": "MEGAPORT",
    "term": 12,
    "config": ["diversityZone": "red"]
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy Port With VXC to Oracle (v3)

**Response**

```json
{
  "data": [
    {
      "aLocation": "mel-mdc",
      "aLocationId": 23,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 211555,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 12,
      "createDate": 1734994700400,
      "createdBy": "2f814dc7-a2b2-4dc7-a062-9d7e6da0eeb7",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": {},
      "locked": false,
      "market": "Australia",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "Austin Port",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MEGAPORT",
      "promptUid": null,
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": 10000,
      "rateType": "MONTHLY",
      "requestedDate": 1734994700400,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "Austin Port",
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 220089,
      "technicalServiceUid": "4b324901-de8e-4e29-8ed8-58b0c79777df",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true,
      "aCountry": "Australia",
      "aMetro": "Melbourne",
      "bCountry": {},
      "bMetro": {},
      "crossConnectRequested": false,
      "lagId": {},
      "originDomain": {}
    },
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1734994700810,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "serviceName": "from Austin Port to OCI (us-phoenix-1) (BMC)",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "autoRenewTerm": true,
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "ORACLE",
      "dealUid": {},
      "discountMonths": {},
      "distanceBand": "INTERZONE",
      "duration": 12,
      "fixedTerm": true,
      "fullyApproved": true,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": 1734994700804,
      "nonPayerApproverId": 53253,
      "nonPayerApproverName": "Austin Chakitdee",
      "nonPayerCompanyName": "Oracle",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 63,
      "nonPayerMegaPortId": 61876,
      "nonPayerMegaPortName": "OCI (us-phoenix-1) (BMC)",
      "nonPayerMegaPortNsId": 138549,
      "nonPayerStatus": "APPROVED",
      "nonPayerVlanId": 0,
      "oracleVirtualCircuitId": "ocid1.virtualcircuit.oc1.phx.aaaaaaaapsokflwszxk3c2vhsyj5pkas3gmh3zngyxx7zj6yxj2stgeofk5q",
      "orderType": "NEW",
      "originDomain": {},
      "payerApproval": 1734994700775,
      "payerApproverId": 53253,
      "payerApproverName": "Austin Chakitdee",
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": {},
      "payerLocationId": 23,
      "payerMegaPortId": 220089,
      "payerMegaPortName": "Austin Port",
      "payerMegaPortNsId": 611852,
      "payerStatus": "APPROVED",
      "payerVlanId": 0,
      "promoCode": {},
      "provisionDate": 1734994700770,
      "rate": {},
      "sdrcProvItem": {},
      "serviceKey": {},
      "serviceLicense": {},
      "setup": {},
      "speed": 10000,
      "usageAlgorithm": "POST_PAID_HOURLY_SPEED_LONG_HAUL_VXC",
      "vxc": {
        "aCountry": null,
        "aLocation": null,
        "aLocationId": null,
        "aMetro": null,
        "accountManager": null,
        "adminContactId": null,
        "adminContactName": null,
        "adminLocked": false,
        "aggregationId": null,
        "attributeTags": {},
        "attributes": [],
        "bCountry": null,
        "bLocation": null,
        "bLocationId": null,
        "bMetro": null,
        "bgpShutdownDefault": false,
        "billableId": 211556,
        "billableUsageAlgorithm": null,
        "billingContactId": null,
        "billingContactName": null,
        "buyoutPort": null,
        "companyId": 1153,
        "companyName": "Megaport Lab",
        "components": [],
        "configuredDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1734994700794,
        "createdBy": "2f814dc7-a2b2-4dc7-a062-9d7e6da0eeb7",
        "crossConnectRequested": false,
        "currentEstimatedDelivery": null,
        "errorMessage": null,
        "failedReason": null,
        "inAdvanceBillingStatus": null,
        "intercapPath": "",
        "lagId": null,
        "lagPrimary": null,
        "locked": false,
        "market": "Australia",
        "marketplaceVisibility": true,
        "maximumSpeed": null,
        "minimumSpeed": null,
        "name": "Melbourne to Los Angeles - Cloud VXC",
        "nonPayerCompanyId": null,
        "originDomain": null,
        "payerCompanyId": null,
        "productType": "VXC",
        "promptUid": null,
        "provisioningStatus": "DEPLOYABLE",
        "rateLimit": 10000,
        "rateType": "MONTHLY",
        "requestedDate": 1734994700770,
        "salesId": null,
        "salesName": null,
        "secondaryName": null,
        "serviceName": "Melbourne to Los Angeles - Cloud VXC",
        "technicalContactId": null,
        "technicalContactName": null,
        "technicalServiceId": 220090,
        "technicalServiceUid": "16e96ec6-b9d5-4362-915c-fbb5a5289128",
        "terminationDate": null,
        "trialAgreement": false,
        "virtual": false,
        "vxcAutoApproval": false,
        "vxcDistanceBand": "INTERZONE",
        "vxcPermitted": true
      },
      "vxcJTechnicalServiceId": 220090,
      "vxcJTechnicalServiceUid": "16e96ec6-b9d5-4362-915c-fbb5a5289128",
      "vxcOrderId": 162930
    }
  ],
  "message": "MEGAPORT [4b324901-de8e-4e29-8ed8-58b0c79777df] creado. VXC [16e96ec6-b9d5-4362-915c-fbb5a5289128] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy Port With VXC to Oracle (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

response = requests.post(url)

print(response.json())
```

```javascript Buy Port With VXC to Oracle (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {method: 'POST'};

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

```go Buy Port With VXC to Oracle (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

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

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

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

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

}
```

```ruby Buy Port With VXC to Oracle (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

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

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

```java Buy Port With VXC to Oracle (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .asString();
```

```php Buy Port With VXC to Oracle (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy');

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

```csharp Buy Port With VXC to Oracle (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
```

```swift Buy Port With VXC to Oracle (v3)
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

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

### Buy Port for Managed Account (v3)

**Request**

```json
[
  {
    "costCentre": "Optional finance reference",
    "createDate": 1614643280,
    "diversityZone": "blue",
    "locationId": 60,
    "locationUid": null,
    "market": "US",
    "portSpeed": 1000,
    "productName": "My LA API Port for a Managed Company",
    "productType": "MEGAPORT",
    "term": 1,
    "virtual": false
  }
]
```

**Response**

```json
{
  "data": [
    {
      "aLocation": "lax-cs1",
      "aLocationId": 60,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 91473,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 41955,
      "companyName": "Best Demo Company",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 1,
      "costCentre": "Optional finance reference",
      "createDate": 1628204221412,
      "createdBy": "f7a3dd78-36a3-46ea-9c71-fca446ee9dbe",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "failedReason": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": false,
      "locked": false,
      "market": "USA",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "My LA API Port for a Managed Company",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MEGAPORT",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": 1000,
      "rateType": "MONTHLY",
      "requestedDate": 1628204221412,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "My LA API Port for a Managed Company",
      "tags": [],
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 93937,
      "technicalServiceUid": "19e9fff1-a0c8-47b1-9506-c8a67f818d77",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true
    }
  ],
  "message": "MEGAPORT [19e9fff1-a0c8-47b1-9506-c8a67f818d77] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy Port for Managed Account (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "costCentre": "Optional finance reference",
        "createDate": 1614643280,
        "diversityZone": "blue",
        "locationId": 60,
        "locationUid": None,
        "market": "US",
        "portSpeed": 1000,
        "productName": "My LA API Port for a Managed Company",
        "productType": "MEGAPORT",
        "term": 1,
        "virtual": False
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy Port for Managed Account (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"costCentre":"Optional finance reference","createDate":1614643280,"diversityZone":"blue","locationId":60,"locationUid":null,"market":"US","portSpeed":1000,"productName":"My LA API Port for a Managed Company","productType":"MEGAPORT","term":1,"virtual":false}]'
};

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

```go Buy Port for Managed Account (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"costCentre\": \"Optional finance reference\",\n    \"createDate\": 1614643280,\n    \"diversityZone\": \"blue\",\n    \"locationId\": 60,\n    \"locationUid\": null,\n    \"market\": \"US\",\n    \"portSpeed\": 1000,\n    \"productName\": \"My LA API Port for a Managed Company\",\n    \"productType\": \"MEGAPORT\",\n    \"term\": 1,\n    \"virtual\": false\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy Port for Managed Account (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"costCentre\": \"Optional finance reference\",\n    \"createDate\": 1614643280,\n    \"diversityZone\": \"blue\",\n    \"locationId\": 60,\n    \"locationUid\": null,\n    \"market\": \"US\",\n    \"portSpeed\": 1000,\n    \"productName\": \"My LA API Port for a Managed Company\",\n    \"productType\": \"MEGAPORT\",\n    \"term\": 1,\n    \"virtual\": false\n  }\n]"

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

```java Buy Port for Managed Account (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"costCentre\": \"Optional finance reference\",\n    \"createDate\": 1614643280,\n    \"diversityZone\": \"blue\",\n    \"locationId\": 60,\n    \"locationUid\": null,\n    \"market\": \"US\",\n    \"portSpeed\": 1000,\n    \"productName\": \"My LA API Port for a Managed Company\",\n    \"productType\": \"MEGAPORT\",\n    \"term\": 1,\n    \"virtual\": false\n  }\n]")
  .asString();
```

```php Buy Port for Managed Account (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "costCentre": "Optional finance reference",
    "createDate": 1614643280,
    "diversityZone": "blue",
    "locationId": 60,
    "locationUid": null,
    "market": "US",
    "portSpeed": 1000,
    "productName": "My LA API Port for a Managed Company",
    "productType": "MEGAPORT",
    "term": 1,
    "virtual": false
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy Port for Managed Account (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"costCentre\": \"Optional finance reference\",\n    \"createDate\": 1614643280,\n    \"diversityZone\": \"blue\",\n    \"locationId\": 60,\n    \"locationUid\": null,\n    \"market\": \"US\",\n    \"portSpeed\": 1000,\n    \"productName\": \"My LA API Port for a Managed Company\",\n    \"productType\": \"MEGAPORT\",\n    \"term\": 1,\n    \"virtual\": false\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy Port for Managed Account (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "costCentre": "Optional finance reference",
    "createDate": 1614643280,
    "diversityZone": "blue",
    "locationId": 60,
    "locationUid": ,
    "market": "US",
    "portSpeed": 1000,
    "productName": "My LA API Port for a Managed Company",
    "productType": "MEGAPORT",
    "term": 1,
    "virtual": false
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy Ports in an Existing LAG (v3)

**Request**

```json
[
  {
    "createDate": 1452475039656,
    "locationId": 2,
    "portSpeed": 10000,
    "productName": "Add-1Port-To-Existing-LAG",
    "productType": "MEGAPORT",
    "term": 12,
    "virtual": false,
    "aggregationId": 166129,
    "lagPortCount": 1
  }
]
```

**Response**

```json
{
  "data": [
    {
      "aLocation": "syd-sy1",
      "aLocationId": 2,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 73113,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 12,
      "createDate": 1608580127910,
      "createdBy": "52a26471-94de-4d32-b89e-0cd5d26c1f65",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": false,
      "locked": false,
      "market": "Australia",
      "marketplaceVisibility": true,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "Add-1Port-To-Existing-LAG",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MEGAPORT",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": 10000,
      "rateType": "MONTHLY",
      "requestedDate": 1608580127910,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "Add-1Port-To-Existing-LAG",
      "tags": [
        "PORTAL_LAG"
      ],
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 74163,
      "technicalServiceUid": "4eb50b04-dbfe-4f99-b2ae-25a3d23c6cf3",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true
    }
  ],
  "message": "MEGAPUERTO [4eb50b04-dbfe-4f99-b2ae-25a3d23c6cf3] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy Ports in an Existing LAG (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "createDate": 1452475039656,
        "locationId": 2,
        "portSpeed": 10000,
        "productName": "Add-1Port-To-Existing-LAG",
        "productType": "MEGAPORT",
        "term": 12,
        "virtual": False,
        "aggregationId": 166129,
        "lagPortCount": 1
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy Ports in an Existing LAG (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"createDate":1452475039656,"locationId":2,"portSpeed":10000,"productName":"Add-1Port-To-Existing-LAG","productType":"MEGAPORT","term":12,"virtual":false,"aggregationId":166129,"lagPortCount":1}]'
};

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

```go Buy Ports in an Existing LAG (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"createDate\": 1452475039656,\n    \"locationId\": 2,\n    \"portSpeed\": 10000,\n    \"productName\": \"Add-1Port-To-Existing-LAG\",\n    \"productType\": \"MEGAPORT\",\n    \"term\": 12,\n    \"virtual\": false,\n    \"aggregationId\": 166129,\n    \"lagPortCount\": 1\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy Ports in an Existing LAG (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"createDate\": 1452475039656,\n    \"locationId\": 2,\n    \"portSpeed\": 10000,\n    \"productName\": \"Add-1Port-To-Existing-LAG\",\n    \"productType\": \"MEGAPORT\",\n    \"term\": 12,\n    \"virtual\": false,\n    \"aggregationId\": 166129,\n    \"lagPortCount\": 1\n  }\n]"

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

```java Buy Ports in an Existing LAG (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"createDate\": 1452475039656,\n    \"locationId\": 2,\n    \"portSpeed\": 10000,\n    \"productName\": \"Add-1Port-To-Existing-LAG\",\n    \"productType\": \"MEGAPORT\",\n    \"term\": 12,\n    \"virtual\": false,\n    \"aggregationId\": 166129,\n    \"lagPortCount\": 1\n  }\n]")
  .asString();
```

```php Buy Ports in an Existing LAG (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "createDate": 1452475039656,
    "locationId": 2,
    "portSpeed": 10000,
    "productName": "Add-1Port-To-Existing-LAG",
    "productType": "MEGAPORT",
    "term": 12,
    "virtual": false,
    "aggregationId": 166129,
    "lagPortCount": 1
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy Ports in an Existing LAG (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"createDate\": 1452475039656,\n    \"locationId\": 2,\n    \"portSpeed\": 10000,\n    \"productName\": \"Add-1Port-To-Existing-LAG\",\n    \"productType\": \"MEGAPORT\",\n    \"term\": 12,\n    \"virtual\": false,\n    \"aggregationId\": 166129,\n    \"lagPortCount\": 1\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy Ports in an Existing LAG (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "createDate": 1452475039656,
    "locationId": 2,
    "portSpeed": 10000,
    "productName": "Add-1Port-To-Existing-LAG",
    "productType": "MEGAPORT",
    "term": 12,
    "virtual": false,
    "aggregationId": 166129,
    "lagPortCount": 1
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy VXC (v3)

**Request**

```json
[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "vlan": 2001
        },
        "bEnd": {
          "productUid": "513e3cc4-9527-49d3-8cbb-4ad573df5fe7",
          "vlan": 2002
        },
        "productName": "My API VXC - Melbourne to San Diego",
        "rateLimit": 500,
        "term": 12
      }
    ],
    "productUid": "27a638e9-7c2e-4972-919a-567b5373c2de"
  }
]
```

**Response**

```json
{
  "data": [
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1605215555583,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "salesId": null,
      "serviceName": "from My LA API Port to My Bay Area API Port",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "DEFAULT",
      "discountMonths": {},
      "distanceBand": "ZONE",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": true,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": 1605215555230,
      "nonPayerApproverId": 30932,
      "nonPayerApproverName": "Eric  Akin",
      "nonPayerCompanyName": "Kunakin",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 65,
      "nonPayerMegaPortId": 70850,
      "nonPayerMegaPortName": "My Bay Area API Port",
      "nonPayerMegaPortNsId": 159075,
      "nonPayerStatus": "APPROVED",
      "nonPayerVlanId": 2001,
      "oracleVirtualCircuitId": {},
      "orderType": "NEW",
      "payerApproval": 1605215555229,
      "payerApproverId": 30932,
      "payerApproverName": "Eric  Akin",
      "payerCompanyName": "Kunakin",
      "payerConfig": {},
      "payerInnerVlanId": {},
      "payerLocationId": 60,
      "payerMegaPortId": 70841,
      "payerMegaPortName": "My LA API Port",
      "payerMegaPortNsId": 159005,
      "payerStatus": "APPROVED",
      "payerVlanId": 2002,
      "promoCode": {},
      "provisionDate": 1605215555186,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": {},
      "setup": {},
      "speed": 500,
      "usageAlgorithm": "POST_PAID_HOURLY_SPEED_LONG_HAUL_VXC",
      "vxcJTechnicalServiceId": 70853,
      "vxcJTechnicalServiceUid": "cf45fb97-f3ec-4e4b-a98b-65c238bda227",
      "vxcOrderId": 52705,
      "webAirProvItem": {}
    }
  ],
  "message": "VXC [cf45fb97-f3ec-4e4b-a98b-65c238bda227] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy VXC (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "associatedVxcs": [
            {
                "aEnd": { "vlan": 2001 },
                "bEnd": {
                    "productUid": "513e3cc4-9527-49d3-8cbb-4ad573df5fe7",
                    "vlan": 2002
                },
                "productName": "My API VXC - Melbourne to San Diego",
                "rateLimit": 500,
                "term": 12
            }
        ],
        "productUid": "27a638e9-7c2e-4972-919a-567b5373c2de"
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy VXC (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"associatedVxcs":[{"aEnd":{"vlan":2001},"bEnd":{"productUid":"513e3cc4-9527-49d3-8cbb-4ad573df5fe7","vlan":2002},"productName":"My API VXC - Melbourne to San Diego","rateLimit":500,"term":12}],"productUid":"27a638e9-7c2e-4972-919a-567b5373c2de"}]'
};

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

```go Buy VXC (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 2001\n        },\n        \"bEnd\": {\n          \"productUid\": \"513e3cc4-9527-49d3-8cbb-4ad573df5fe7\",\n          \"vlan\": 2002\n        },\n        \"productName\": \"My API VXC - Melbourne to San Diego\",\n        \"rateLimit\": 500,\n        \"term\": 12\n      }\n    ],\n    \"productUid\": \"27a638e9-7c2e-4972-919a-567b5373c2de\"\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy VXC (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 2001\n        },\n        \"bEnd\": {\n          \"productUid\": \"513e3cc4-9527-49d3-8cbb-4ad573df5fe7\",\n          \"vlan\": 2002\n        },\n        \"productName\": \"My API VXC - Melbourne to San Diego\",\n        \"rateLimit\": 500,\n        \"term\": 12\n      }\n    ],\n    \"productUid\": \"27a638e9-7c2e-4972-919a-567b5373c2de\"\n  }\n]"

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

```java Buy VXC (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 2001\n        },\n        \"bEnd\": {\n          \"productUid\": \"513e3cc4-9527-49d3-8cbb-4ad573df5fe7\",\n          \"vlan\": 2002\n        },\n        \"productName\": \"My API VXC - Melbourne to San Diego\",\n        \"rateLimit\": 500,\n        \"term\": 12\n      }\n    ],\n    \"productUid\": \"27a638e9-7c2e-4972-919a-567b5373c2de\"\n  }\n]")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "vlan": 2001
        },
        "bEnd": {
          "productUid": "513e3cc4-9527-49d3-8cbb-4ad573df5fe7",
          "vlan": 2002
        },
        "productName": "My API VXC - Melbourne to San Diego",
        "rateLimit": 500,
        "term": 12
      }
    ],
    "productUid": "27a638e9-7c2e-4972-919a-567b5373c2de"
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy VXC (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 2001\n        },\n        \"bEnd\": {\n          \"productUid\": \"513e3cc4-9527-49d3-8cbb-4ad573df5fe7\",\n          \"vlan\": 2002\n        },\n        \"productName\": \"My API VXC - Melbourne to San Diego\",\n        \"rateLimit\": 500,\n        \"term\": 12\n      }\n    ],\n    \"productUid\": \"27a638e9-7c2e-4972-919a-567b5373c2de\"\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy VXC (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "associatedVxcs": [
      [
        "aEnd": ["vlan": 2001],
        "bEnd": [
          "productUid": "513e3cc4-9527-49d3-8cbb-4ad573df5fe7",
          "vlan": 2002
        ],
        "productName": "My API VXC - Melbourne to San Diego",
        "rateLimit": 500,
        "term": 12
      ]
    ],
    "productUid": "27a638e9-7c2e-4972-919a-567b5373c2de"
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy VXC (v3) - 12 Month Contract

**Response**

```json
{
  "data": [
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1705393665655,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "salesId": null,
      "serviceName": "from GB PORT to sjc-tx2-vr-4 Guest Production Port Eth1-1 / Eth1-1",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "DEFAULT",
      "dealUid": {},
      "discountMonths": {},
      "distanceBand": "INTERZONE",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": true,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": 1705393665625,
      "nonPayerApproverId": 50402,
      "nonPayerApproverName": "Greg Brown",
      "nonPayerCompanyName": "Megaport Lab",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 65,
      "nonPayerMegaPortId": 146986,
      "nonPayerMegaPortName": "sjc-tx2-vr-4 Guest Production Port Eth1-1 / Eth1-1",
      "nonPayerMegaPortNsId": 370135,
      "nonPayerStatus": "APPROVED",
      "nonPayerVlanId": 2002,
      "oracleVirtualCircuitId": {},
      "orderType": "NEW",
      "originDomain": {},
      "payerApproval": 1705393665625,
      "payerApproverId": 50402,
      "payerApproverName": "Greg Brown",
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": {},
      "payerLocationId": 23,
      "payerMegaPortId": 184977,
      "payerMegaPortName": "GB PORT",
      "payerMegaPortNsId": 495618,
      "payerStatus": "APPROVED",
      "payerVlanId": 2001,
      "promoCode": {},
      "provisionDate": 1705393665618,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": {},
      "serviceLicense": {},
      "setup": {},
      "speed": 500,
      "usageAlgorithm": "POST_PAID_HOURLY_SPEED_LONG_HAUL_VXC",
      "vxc": {
        "aCountry": null,
        "aLocation": null,
        "aLocationId": null,
        "aMetro": null,
        "accountManager": null,
        "adminContactId": null,
        "adminContactName": null,
        "adminLocked": false,
        "aggregationId": null,
        "attributeTags": {},
        "attributes": [],
        "bCountry": null,
        "bLocation": null,
        "bLocationId": null,
        "bMetro": null,
        "bgpShutdownDefault": false,
        "billableId": 176781,
        "billableUsageAlgorithm": null,
        "billingContactId": null,
        "billingContactName": null,
        "buyoutPort": null,
        "companyId": 1153,
        "companyName": "Megaport Lab",
        "components": [],
        "configuredDate": null,
        "contractStartDate": null,
        "contractTermMonths": 12,
        "createDate": 1705393665639,
        "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
        "currentEstimatedDelivery": null,
        "errorMessage": null,
        "failedReason": null,
        "inAdvanceBillingStatus": null,
        "intercapPath": "",
        "lagId": null,
        "lagPrimary": null,
        "locked": false,
        "market": "Australia",
        "marketplaceVisibility": true,
        "maximumSpeed": null,
        "minimumSpeed": null,
        "name": "My API VXC - Melbourne to San Diego",
        "nonPayerCompanyId": null,
        "originDomain": null,
        "payerCompanyId": null,
        "productType": "VXC",
        "promptUid": null,
        "provisioningItems": [],
        "provisioningStatus": "DEPLOYABLE",
        "rateLimit": 500,
        "rateType": "MONTHLY",
        "requestedDate": 1705393665618,
        "salesId": null,
        "salesName": null,
        "secondaryName": null,
        "serviceName": "My API VXC - Melbourne to San Diego",
        "tags": [],
        "technicalContactId": null,
        "technicalContactName": null,
        "technicalServiceId": 184978,
        "technicalServiceUid": "e85c8883-1569-4c6e-9762-45f1d89373cb",
        "terminationDate": null,
        "trialAgreement": false,
        "virtual": false,
        "vxcAutoApproval": false,
        "vxcDistanceBand": "INTERZONE",
        "vxcPermitted": true
      },
      "vxcJTechnicalServiceId": 184978,
      "vxcJTechnicalServiceUid": "e85c8883-1569-4c6e-9762-45f1d89373cb",
      "vxcOrderId": 136211,
      "webAirProvItem": {}
    }
  ],
  "message": "VXC [e85c8883-1569-4c6e-9762-45f1d89373cb] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy VXC (v3) - 12 Month Contract
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

response = requests.post(url)

print(response.json())
```

```javascript Buy VXC (v3) - 12 Month Contract
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {method: 'POST'};

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

```go Buy VXC (v3) - 12 Month Contract
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

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

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

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

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

}
```

```ruby Buy VXC (v3) - 12 Month Contract
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

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

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

```java Buy VXC (v3) - 12 Month Contract
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .asString();
```

```php Buy VXC (v3) - 12 Month Contract
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy');

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

```csharp Buy VXC (v3) - 12 Month Contract
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
```

```swift Buy VXC (v3) - 12 Month Contract
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

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

### Buy VXC for MCR (v3)

**Request**

```json
[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "partnerConfig": {
            "connectType": "VROUTER",
            "interfaces": [
              {
                "bgpConnections": [
                  {
                    "bfdEnabled": true,
                    "denyExportTo": [],
                    "description": "BGP con MED y BFD habilitados",
                    "exportBlacklist": null,
                    "exportPolicy": null,
                    "exportWhitelist": null,
                    "importBlacklist": null,
                    "importWhitelist": null,
                    "localAsn": 133937,
                    "localIpAddress": "10.191.0.25",
                    "medIn": 100,
                    "medOut": 100,
                    "multiplier": null,
                    "password": "cnn6eaeaETSjvjvjvjv",
                    "peerAsn": "62512",
                    "peerIpAddress": "10.191.0.26",
                    "permitExportTo": [],
                    "rxInterval": null,
                    "shutdown": false,
                    "txInterval": null
                  },
                  {
                    "bfdEnabled": false,
                    "denyExportTo": [],
                    "description": "BGP sin MED o BFD",
                    "exportBlacklist": null,
                    "exportPolicy": null,
                    "exportWhitelist": null,
                    "importBlacklist": null,
                    "importWhitelist": null,
                    "localAsn": 133937,
                    "localIpAddress": "10.191.0.25",
                    "medIn": null,
                    "medOut": null,
                    "multiplier": null,
                    "password": "cnn23049asdkfj",
                    "peerAsn": "62511",
                    "peerIpAddress": "10.191.0.27",
                    "permitExportTo": [],
                    "rxInterval": null,
                    "shutdown": false,
                    "txInterval": null
                  }
                ],
                "ipAddresses": [
                  "10.191.0.25/29"
                ],
                "ipMtu": 5000,
                "ipRoutes": [
                  {
                    "description": "probar ruta estática 1",
                    "nextHop": "10.191.0.26",
                    "prefix": "10.0.0.0/24"
                  }
                ],
                "natIpAddresses": [],
                "vlan": null
              }
            ]
          }
        },
        "bEnd": {
          "partnerConfig": {
            "asn": "133937",
            "name": "Test Connection",
            "ownerAccount": "684021030471",
            "type": null
          },
          "productUid": "6461f0bc-549a-42c4-ac32-d51a6132f959"
        },
        "connectType": "AWSHC",
        "productName": "Test Connection",
        "productType": "VXC",
        "productUid": "5843c2dd-12f2-4c03-9946-158cfeebe73c",
        "rateLimit": 500
      }
    ],
    "productUid": "f55ceb5d-7278-4458-9bc6-35d61dceda8b"
  }
]
```

**Response**

```json
{
  "data": [
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1714453246480,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "serviceName": "from mcr-demo-jp-01 to US East (N. Virginia) (us-east-1)",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "AWSHC",
      "dealUid": {},
      "discountMonths": {},
      "distanceBand": "INTERZONE",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": true,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": 1714453246473,
      "nonPayerApproverId": 50402,
      "nonPayerApproverName": "Greg Brown",
      "nonPayerCompanyName": "AWS",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 140,
      "nonPayerMegaPortId": 150693,
      "nonPayerMegaPortName": "US East (N. Virginia) (us-east-1)",
      "nonPayerMegaPortNsId": 382605,
      "nonPayerStatus": "APPROVED",
      "nonPayerVlanId": 0,
      "oracleVirtualCircuitId": {},
      "orderType": "NEW",
      "originDomain": {},
      "payerApproval": 1714453246425,
      "payerApproverId": 50402,
      "payerApproverName": "Greg Brown",
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": {},
      "payerLocationId": 558,
      "payerMegaPortId": 194716,
      "payerMegaPortName": "mcr-demo-jp-01",
      "payerMegaPortNsId": 525929,
      "payerStatus": "APPROVED",
      "payerVlanId": 0,
      "promoCode": {},
      "provisionDate": 1714453246395,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": {},
      "serviceLicense": {},
      "setup": {},
      "speed": 500,
      "usageAlgorithm": "POST_PAID_HOURLY_SPEED_LONG_HAUL_VXC",
      "vxc": {
        "aCountry": null,
        "aLocation": null,
        "aLocationId": null,
        "aMetro": null,
        "accountManager": null,
        "adminContactId": null,
        "adminContactName": null,
        "adminLocked": false,
        "aggregationId": null,
        "attributeTags": {},
        "attributes": [],
        "bCountry": null,
        "bLocation": null,
        "bLocationId": null,
        "bMetro": null,
        "bgpShutdownDefault": false,
        "billableId": 187180,
        "billableUsageAlgorithm": null,
        "billingContactId": null,
        "billingContactName": null,
        "buyoutPort": null,
        "companyId": 1153,
        "companyName": "Megaport Lab",
        "components": [],
        "configuredDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1714453246459,
        "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
        "currentEstimatedDelivery": null,
        "errorMessage": null,
        "failedReason": null,
        "inAdvanceBillingStatus": null,
        "intercapPath": "",
        "lagId": null,
        "lagPrimary": null,
        "locked": false,
        "market": "Japan",
        "marketplaceVisibility": true,
        "maximumSpeed": null,
        "minimumSpeed": null,
        "name": "Test Connection",
        "nonPayerCompanyId": null,
        "originDomain": null,
        "payerCompanyId": null,
        "productType": "VXC",
        "promptUid": null,
        "provisioningItems": [],
        "provisioningStatus": "DEPLOYABLE",
        "rateLimit": 500,
        "rateType": "MONTHLY",
        "requestedDate": 1714453246395,
        "salesId": null,
        "salesName": null,
        "secondaryName": null,
        "serviceName": "Test Connection",
        "tags": [],
        "technicalContactId": null,
        "technicalContactName": null,
        "technicalServiceId": 195654,
        "technicalServiceUid": "bb7e85ed-efae-45ff-b67b-ed5cb25be218",
        "terminationDate": null,
        "trialAgreement": false,
        "virtual": false,
        "vxcAutoApproval": false,
        "vxcDistanceBand": "INTERZONE",
        "vxcPermitted": true
      },
      "vxcJTechnicalServiceId": 195654,
      "vxcJTechnicalServiceUid": "bb7e85ed-efae-45ff-b67b-ed5cb25be218",
      "vxcOrderId": 144125
    }
  ],
  "message": "VXC [bb7e85ed-efae-45ff-b67b-ed5cb25be218] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy VXC for MCR (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "associatedVxcs": [
            {
                "aEnd": { "partnerConfig": {
                        "connectType": "VROUTER",
                        "interfaces": [
                            {
                                "bgpConnections": [
                                    {
                                        "bfdEnabled": True,
                                        "denyExportTo": [],
                                        "description": "BGP con MED y BFD habilitados",
                                        "exportBlacklist": None,
                                        "exportPolicy": None,
                                        "exportWhitelist": None,
                                        "importBlacklist": None,
                                        "importWhitelist": None,
                                        "localAsn": 133937,
                                        "localIpAddress": "10.191.0.25",
                                        "medIn": 100,
                                        "medOut": 100,
                                        "multiplier": None,
                                        "password": "cnn6eaeaETSjvjvjvjv",
                                        "peerAsn": "62512",
                                        "peerIpAddress": "10.191.0.26",
                                        "permitExportTo": [],
                                        "rxInterval": None,
                                        "shutdown": False,
                                        "txInterval": None
                                    },
                                    {
                                        "bfdEnabled": False,
                                        "denyExportTo": [],
                                        "description": "BGP sin MED o BFD",
                                        "exportBlacklist": None,
                                        "exportPolicy": None,
                                        "exportWhitelist": None,
                                        "importBlacklist": None,
                                        "importWhitelist": None,
                                        "localAsn": 133937,
                                        "localIpAddress": "10.191.0.25",
                                        "medIn": None,
                                        "medOut": None,
                                        "multiplier": None,
                                        "password": "cnn23049asdkfj",
                                        "peerAsn": "62511",
                                        "peerIpAddress": "10.191.0.27",
                                        "permitExportTo": [],
                                        "rxInterval": None,
                                        "shutdown": False,
                                        "txInterval": None
                                    }
                                ],
                                "ipAddresses": ["10.191.0.25/29"],
                                "ipMtu": 5000,
                                "ipRoutes": [
                                    {
                                        "description": "probar ruta estática 1",
                                        "nextHop": "10.191.0.26",
                                        "prefix": "10.0.0.0/24"
                                    }
                                ],
                                "natIpAddresses": [],
                                "vlan": None
                            }
                        ]
                    } },
                "bEnd": {
                    "partnerConfig": {
                        "asn": "133937",
                        "name": "Test Connection",
                        "ownerAccount": "684021030471",
                        "type": None
                    },
                    "productUid": "6461f0bc-549a-42c4-ac32-d51a6132f959"
                },
                "connectType": "AWSHC",
                "productName": "Test Connection",
                "productType": "VXC",
                "productUid": "5843c2dd-12f2-4c03-9946-158cfeebe73c",
                "rateLimit": 500
            }
        ],
        "productUid": "f55ceb5d-7278-4458-9bc6-35d61dceda8b"
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy VXC for MCR (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"associatedVxcs":[{"aEnd":{"partnerConfig":{"connectType":"VROUTER","interfaces":[{"bgpConnections":[{"bfdEnabled":true,"denyExportTo":[],"description":"BGP con MED y BFD habilitados","exportBlacklist":null,"exportPolicy":null,"exportWhitelist":null,"importBlacklist":null,"importWhitelist":null,"localAsn":133937,"localIpAddress":"10.191.0.25","medIn":100,"medOut":100,"multiplier":null,"password":"cnn6eaeaETSjvjvjvjv","peerAsn":"62512","peerIpAddress":"10.191.0.26","permitExportTo":[],"rxInterval":null,"shutdown":false,"txInterval":null},{"bfdEnabled":false,"denyExportTo":[],"description":"BGP sin MED o BFD","exportBlacklist":null,"exportPolicy":null,"exportWhitelist":null,"importBlacklist":null,"importWhitelist":null,"localAsn":133937,"localIpAddress":"10.191.0.25","medIn":null,"medOut":null,"multiplier":null,"password":"cnn23049asdkfj","peerAsn":"62511","peerIpAddress":"10.191.0.27","permitExportTo":[],"rxInterval":null,"shutdown":false,"txInterval":null}],"ipAddresses":["10.191.0.25/29"],"ipMtu":5000,"ipRoutes":[{"description":"probar ruta estática 1","nextHop":"10.191.0.26","prefix":"10.0.0.0/24"}],"natIpAddresses":[],"vlan":null}]}},"bEnd":{"partnerConfig":{"asn":"133937","name":"Test Connection","ownerAccount":"684021030471","type":null},"productUid":"6461f0bc-549a-42c4-ac32-d51a6132f959"},"connectType":"AWSHC","productName":"Test Connection","productType":"VXC","productUid":"5843c2dd-12f2-4c03-9946-158cfeebe73c","rateLimit":500}],"productUid":"f55ceb5d-7278-4458-9bc6-35d61dceda8b"}]'
};

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

```go Buy VXC for MCR (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"partnerConfig\": {\n            \"connectType\": \"VROUTER\",\n            \"interfaces\": [\n              {\n                \"bgpConnections\": [\n                  {\n                    \"bfdEnabled\": true,\n                    \"denyExportTo\": [],\n                    \"description\": \"BGP con MED y BFD habilitados\",\n                    \"exportBlacklist\": null,\n                    \"exportPolicy\": null,\n                    \"exportWhitelist\": null,\n                    \"importBlacklist\": null,\n                    \"importWhitelist\": null,\n                    \"localAsn\": 133937,\n                    \"localIpAddress\": \"10.191.0.25\",\n                    \"medIn\": 100,\n                    \"medOut\": 100,\n                    \"multiplier\": null,\n                    \"password\": \"cnn6eaeaETSjvjvjvjv\",\n                    \"peerAsn\": \"62512\",\n                    \"peerIpAddress\": \"10.191.0.26\",\n                    \"permitExportTo\": [],\n                    \"rxInterval\": null,\n                    \"shutdown\": false,\n                    \"txInterval\": null\n                  },\n                  {\n                    \"bfdEnabled\": false,\n                    \"denyExportTo\": [],\n                    \"description\": \"BGP sin MED o BFD\",\n                    \"exportBlacklist\": null,\n                    \"exportPolicy\": null,\n                    \"exportWhitelist\": null,\n                    \"importBlacklist\": null,\n                    \"importWhitelist\": null,\n                    \"localAsn\": 133937,\n                    \"localIpAddress\": \"10.191.0.25\",\n                    \"medIn\": null,\n                    \"medOut\": null,\n                    \"multiplier\": null,\n                    \"password\": \"cnn23049asdkfj\",\n                    \"peerAsn\": \"62511\",\n                    \"peerIpAddress\": \"10.191.0.27\",\n                    \"permitExportTo\": [],\n                    \"rxInterval\": null,\n                    \"shutdown\": false,\n                    \"txInterval\": null\n                  }\n                ],\n                \"ipAddresses\": [\n                  \"10.191.0.25/29\"\n                ],\n                \"ipMtu\": 5000,\n                \"ipRoutes\": [\n                  {\n                    \"description\": \"probar ruta estática 1\",\n                    \"nextHop\": \"10.191.0.26\",\n                    \"prefix\": \"10.0.0.0/24\"\n                  }\n                ],\n                \"natIpAddresses\": [],\n                \"vlan\": null\n              }\n            ]\n          }\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"asn\": \"133937\",\n            \"name\": \"Test Connection\",\n            \"ownerAccount\": \"684021030471\",\n            \"type\": null\n          },\n          \"productUid\": \"6461f0bc-549a-42c4-ac32-d51a6132f959\"\n        },\n        \"connectType\": \"AWSHC\",\n        \"productName\": \"Test Connection\",\n        \"productType\": \"VXC\",\n        \"productUid\": \"5843c2dd-12f2-4c03-9946-158cfeebe73c\",\n        \"rateLimit\": 500\n      }\n    ],\n    \"productUid\": \"f55ceb5d-7278-4458-9bc6-35d61dceda8b\"\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy VXC for MCR (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"partnerConfig\": {\n            \"connectType\": \"VROUTER\",\n            \"interfaces\": [\n              {\n                \"bgpConnections\": [\n                  {\n                    \"bfdEnabled\": true,\n                    \"denyExportTo\": [],\n                    \"description\": \"BGP con MED y BFD habilitados\",\n                    \"exportBlacklist\": null,\n                    \"exportPolicy\": null,\n                    \"exportWhitelist\": null,\n                    \"importBlacklist\": null,\n                    \"importWhitelist\": null,\n                    \"localAsn\": 133937,\n                    \"localIpAddress\": \"10.191.0.25\",\n                    \"medIn\": 100,\n                    \"medOut\": 100,\n                    \"multiplier\": null,\n                    \"password\": \"cnn6eaeaETSjvjvjvjv\",\n                    \"peerAsn\": \"62512\",\n                    \"peerIpAddress\": \"10.191.0.26\",\n                    \"permitExportTo\": [],\n                    \"rxInterval\": null,\n                    \"shutdown\": false,\n                    \"txInterval\": null\n                  },\n                  {\n                    \"bfdEnabled\": false,\n                    \"denyExportTo\": [],\n                    \"description\": \"BGP sin MED o BFD\",\n                    \"exportBlacklist\": null,\n                    \"exportPolicy\": null,\n                    \"exportWhitelist\": null,\n                    \"importBlacklist\": null,\n                    \"importWhitelist\": null,\n                    \"localAsn\": 133937,\n                    \"localIpAddress\": \"10.191.0.25\",\n                    \"medIn\": null,\n                    \"medOut\": null,\n                    \"multiplier\": null,\n                    \"password\": \"cnn23049asdkfj\",\n                    \"peerAsn\": \"62511\",\n                    \"peerIpAddress\": \"10.191.0.27\",\n                    \"permitExportTo\": [],\n                    \"rxInterval\": null,\n                    \"shutdown\": false,\n                    \"txInterval\": null\n                  }\n                ],\n                \"ipAddresses\": [\n                  \"10.191.0.25/29\"\n                ],\n                \"ipMtu\": 5000,\n                \"ipRoutes\": [\n                  {\n                    \"description\": \"probar ruta estática 1\",\n                    \"nextHop\": \"10.191.0.26\",\n                    \"prefix\": \"10.0.0.0/24\"\n                  }\n                ],\n                \"natIpAddresses\": [],\n                \"vlan\": null\n              }\n            ]\n          }\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"asn\": \"133937\",\n            \"name\": \"Test Connection\",\n            \"ownerAccount\": \"684021030471\",\n            \"type\": null\n          },\n          \"productUid\": \"6461f0bc-549a-42c4-ac32-d51a6132f959\"\n        },\n        \"connectType\": \"AWSHC\",\n        \"productName\": \"Test Connection\",\n        \"productType\": \"VXC\",\n        \"productUid\": \"5843c2dd-12f2-4c03-9946-158cfeebe73c\",\n        \"rateLimit\": 500\n      }\n    ],\n    \"productUid\": \"f55ceb5d-7278-4458-9bc6-35d61dceda8b\"\n  }\n]"

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

```java Buy VXC for MCR (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"partnerConfig\": {\n            \"connectType\": \"VROUTER\",\n            \"interfaces\": [\n              {\n                \"bgpConnections\": [\n                  {\n                    \"bfdEnabled\": true,\n                    \"denyExportTo\": [],\n                    \"description\": \"BGP con MED y BFD habilitados\",\n                    \"exportBlacklist\": null,\n                    \"exportPolicy\": null,\n                    \"exportWhitelist\": null,\n                    \"importBlacklist\": null,\n                    \"importWhitelist\": null,\n                    \"localAsn\": 133937,\n                    \"localIpAddress\": \"10.191.0.25\",\n                    \"medIn\": 100,\n                    \"medOut\": 100,\n                    \"multiplier\": null,\n                    \"password\": \"cnn6eaeaETSjvjvjvjv\",\n                    \"peerAsn\": \"62512\",\n                    \"peerIpAddress\": \"10.191.0.26\",\n                    \"permitExportTo\": [],\n                    \"rxInterval\": null,\n                    \"shutdown\": false,\n                    \"txInterval\": null\n                  },\n                  {\n                    \"bfdEnabled\": false,\n                    \"denyExportTo\": [],\n                    \"description\": \"BGP sin MED o BFD\",\n                    \"exportBlacklist\": null,\n                    \"exportPolicy\": null,\n                    \"exportWhitelist\": null,\n                    \"importBlacklist\": null,\n                    \"importWhitelist\": null,\n                    \"localAsn\": 133937,\n                    \"localIpAddress\": \"10.191.0.25\",\n                    \"medIn\": null,\n                    \"medOut\": null,\n                    \"multiplier\": null,\n                    \"password\": \"cnn23049asdkfj\",\n                    \"peerAsn\": \"62511\",\n                    \"peerIpAddress\": \"10.191.0.27\",\n                    \"permitExportTo\": [],\n                    \"rxInterval\": null,\n                    \"shutdown\": false,\n                    \"txInterval\": null\n                  }\n                ],\n                \"ipAddresses\": [\n                  \"10.191.0.25/29\"\n                ],\n                \"ipMtu\": 5000,\n                \"ipRoutes\": [\n                  {\n                    \"description\": \"probar ruta estática 1\",\n                    \"nextHop\": \"10.191.0.26\",\n                    \"prefix\": \"10.0.0.0/24\"\n                  }\n                ],\n                \"natIpAddresses\": [],\n                \"vlan\": null\n              }\n            ]\n          }\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"asn\": \"133937\",\n            \"name\": \"Test Connection\",\n            \"ownerAccount\": \"684021030471\",\n            \"type\": null\n          },\n          \"productUid\": \"6461f0bc-549a-42c4-ac32-d51a6132f959\"\n        },\n        \"connectType\": \"AWSHC\",\n        \"productName\": \"Test Connection\",\n        \"productType\": \"VXC\",\n        \"productUid\": \"5843c2dd-12f2-4c03-9946-158cfeebe73c\",\n        \"rateLimit\": 500\n      }\n    ],\n    \"productUid\": \"f55ceb5d-7278-4458-9bc6-35d61dceda8b\"\n  }\n]")
  .asString();
```

```php Buy VXC for MCR (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "partnerConfig": {
            "connectType": "VROUTER",
            "interfaces": [
              {
                "bgpConnections": [
                  {
                    "bfdEnabled": true,
                    "denyExportTo": [],
                    "description": "BGP con MED y BFD habilitados",
                    "exportBlacklist": null,
                    "exportPolicy": null,
                    "exportWhitelist": null,
                    "importBlacklist": null,
                    "importWhitelist": null,
                    "localAsn": 133937,
                    "localIpAddress": "10.191.0.25",
                    "medIn": 100,
                    "medOut": 100,
                    "multiplier": null,
                    "password": "cnn6eaeaETSjvjvjvjv",
                    "peerAsn": "62512",
                    "peerIpAddress": "10.191.0.26",
                    "permitExportTo": [],
                    "rxInterval": null,
                    "shutdown": false,
                    "txInterval": null
                  },
                  {
                    "bfdEnabled": false,
                    "denyExportTo": [],
                    "description": "BGP sin MED o BFD",
                    "exportBlacklist": null,
                    "exportPolicy": null,
                    "exportWhitelist": null,
                    "importBlacklist": null,
                    "importWhitelist": null,
                    "localAsn": 133937,
                    "localIpAddress": "10.191.0.25",
                    "medIn": null,
                    "medOut": null,
                    "multiplier": null,
                    "password": "cnn23049asdkfj",
                    "peerAsn": "62511",
                    "peerIpAddress": "10.191.0.27",
                    "permitExportTo": [],
                    "rxInterval": null,
                    "shutdown": false,
                    "txInterval": null
                  }
                ],
                "ipAddresses": [
                  "10.191.0.25/29"
                ],
                "ipMtu": 5000,
                "ipRoutes": [
                  {
                    "description": "probar ruta estática 1",
                    "nextHop": "10.191.0.26",
                    "prefix": "10.0.0.0/24"
                  }
                ],
                "natIpAddresses": [],
                "vlan": null
              }
            ]
          }
        },
        "bEnd": {
          "partnerConfig": {
            "asn": "133937",
            "name": "Test Connection",
            "ownerAccount": "684021030471",
            "type": null
          },
          "productUid": "6461f0bc-549a-42c4-ac32-d51a6132f959"
        },
        "connectType": "AWSHC",
        "productName": "Test Connection",
        "productType": "VXC",
        "productUid": "5843c2dd-12f2-4c03-9946-158cfeebe73c",
        "rateLimit": 500
      }
    ],
    "productUid": "f55ceb5d-7278-4458-9bc6-35d61dceda8b"
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy VXC for MCR (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"partnerConfig\": {\n            \"connectType\": \"VROUTER\",\n            \"interfaces\": [\n              {\n                \"bgpConnections\": [\n                  {\n                    \"bfdEnabled\": true,\n                    \"denyExportTo\": [],\n                    \"description\": \"BGP con MED y BFD habilitados\",\n                    \"exportBlacklist\": null,\n                    \"exportPolicy\": null,\n                    \"exportWhitelist\": null,\n                    \"importBlacklist\": null,\n                    \"importWhitelist\": null,\n                    \"localAsn\": 133937,\n                    \"localIpAddress\": \"10.191.0.25\",\n                    \"medIn\": 100,\n                    \"medOut\": 100,\n                    \"multiplier\": null,\n                    \"password\": \"cnn6eaeaETSjvjvjvjv\",\n                    \"peerAsn\": \"62512\",\n                    \"peerIpAddress\": \"10.191.0.26\",\n                    \"permitExportTo\": [],\n                    \"rxInterval\": null,\n                    \"shutdown\": false,\n                    \"txInterval\": null\n                  },\n                  {\n                    \"bfdEnabled\": false,\n                    \"denyExportTo\": [],\n                    \"description\": \"BGP sin MED o BFD\",\n                    \"exportBlacklist\": null,\n                    \"exportPolicy\": null,\n                    \"exportWhitelist\": null,\n                    \"importBlacklist\": null,\n                    \"importWhitelist\": null,\n                    \"localAsn\": 133937,\n                    \"localIpAddress\": \"10.191.0.25\",\n                    \"medIn\": null,\n                    \"medOut\": null,\n                    \"multiplier\": null,\n                    \"password\": \"cnn23049asdkfj\",\n                    \"peerAsn\": \"62511\",\n                    \"peerIpAddress\": \"10.191.0.27\",\n                    \"permitExportTo\": [],\n                    \"rxInterval\": null,\n                    \"shutdown\": false,\n                    \"txInterval\": null\n                  }\n                ],\n                \"ipAddresses\": [\n                  \"10.191.0.25/29\"\n                ],\n                \"ipMtu\": 5000,\n                \"ipRoutes\": [\n                  {\n                    \"description\": \"probar ruta estática 1\",\n                    \"nextHop\": \"10.191.0.26\",\n                    \"prefix\": \"10.0.0.0/24\"\n                  }\n                ],\n                \"natIpAddresses\": [],\n                \"vlan\": null\n              }\n            ]\n          }\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"asn\": \"133937\",\n            \"name\": \"Test Connection\",\n            \"ownerAccount\": \"684021030471\",\n            \"type\": null\n          },\n          \"productUid\": \"6461f0bc-549a-42c4-ac32-d51a6132f959\"\n        },\n        \"connectType\": \"AWSHC\",\n        \"productName\": \"Test Connection\",\n        \"productType\": \"VXC\",\n        \"productUid\": \"5843c2dd-12f2-4c03-9946-158cfeebe73c\",\n        \"rateLimit\": 500\n      }\n    ],\n    \"productUid\": \"f55ceb5d-7278-4458-9bc6-35d61dceda8b\"\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy VXC for MCR (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "associatedVxcs": [
      [
        "aEnd": ["partnerConfig": [
            "connectType": "VROUTER",
            "interfaces": [
              [
                "bgpConnections": [
                  [
                    "bfdEnabled": true,
                    "denyExportTo": [],
                    "description": "BGP con MED y BFD habilitados",
                    "exportBlacklist": ,
                    "exportPolicy": ,
                    "exportWhitelist": ,
                    "importBlacklist": ,
                    "importWhitelist": ,
                    "localAsn": 133937,
                    "localIpAddress": "10.191.0.25",
                    "medIn": 100,
                    "medOut": 100,
                    "multiplier": ,
                    "password": "cnn6eaeaETSjvjvjvjv",
                    "peerAsn": "62512",
                    "peerIpAddress": "10.191.0.26",
                    "permitExportTo": [],
                    "rxInterval": ,
                    "shutdown": false,
                    "txInterval": 
                  ],
                  [
                    "bfdEnabled": false,
                    "denyExportTo": [],
                    "description": "BGP sin MED o BFD",
                    "exportBlacklist": ,
                    "exportPolicy": ,
                    "exportWhitelist": ,
                    "importBlacklist": ,
                    "importWhitelist": ,
                    "localAsn": 133937,
                    "localIpAddress": "10.191.0.25",
                    "medIn": ,
                    "medOut": ,
                    "multiplier": ,
                    "password": "cnn23049asdkfj",
                    "peerAsn": "62511",
                    "peerIpAddress": "10.191.0.27",
                    "permitExportTo": [],
                    "rxInterval": ,
                    "shutdown": false,
                    "txInterval": 
                  ]
                ],
                "ipAddresses": ["10.191.0.25/29"],
                "ipMtu": 5000,
                "ipRoutes": [
                  [
                    "description": "probar ruta estática 1",
                    "nextHop": "10.191.0.26",
                    "prefix": "10.0.0.0/24"
                  ]
                ],
                "natIpAddresses": [],
                "vlan": 
              ]
            ]
          ]],
        "bEnd": [
          "partnerConfig": [
            "asn": "133937",
            "name": "Test Connection",
            "ownerAccount": "684021030471",
            "type": 
          ],
          "productUid": "6461f0bc-549a-42c4-ac32-d51a6132f959"
        ],
        "connectType": "AWSHC",
        "productName": "Test Connection",
        "productType": "VXC",
        "productUid": "5843c2dd-12f2-4c03-9946-158cfeebe73c",
        "rateLimit": 500
      ]
    ],
    "productUid": "f55ceb5d-7278-4458-9bc6-35d61dceda8b"
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy VXC for MVE (v3)

**Request**

```json
[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "innerVlan": 12,
          "vlan": 102
        },
        "bEnd": {
          "productUid": "5aa96068-38bd-4031-bb36-0d0a9b471bc8",
          "vlan": 101
        },
        "productName": "My Fortinet MVE VXC",
        "rateLimit": 550
      }
    ],
    "productUid": "596d85b9-a7f8-417b-ba82-50d601dff464"
  }
]
```

**Response**

```json
{
  "data": [
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1655237853076,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "salesId": null,
      "serviceName": "from My small Fortinet MVE (LA) to iManage Melbourne",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "DEFAULT",
      "dealUid": {},
      "discountMonths": {},
      "distanceBand": "INTERZONE",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": false,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": {},
      "nonPayerApproverId": {},
      "nonPayerApproverName": {},
      "nonPayerCompanyName": "iManage Cloud",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 382,
      "nonPayerMegaPortId": 20000,
      "nonPayerMegaPortName": "iManage Melbourne",
      "nonPayerMegaPortNsId": 45098,
      "nonPayerStatus": "UN_ASSESSED",
      "nonPayerVlanId": 101,
      "oracleVirtualCircuitId": {},
      "orderType": "NEW",
      "payerApproval": 1655237853030,
      "payerApproverId": 29980,
      "payerApproverName": "DV",
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": 12,
      "payerLocationId": 60,
      "payerMegaPortId": 124604,
      "payerMegaPortName": "My small Fortinet MVE (LA)",
      "payerMegaPortNsId": 303703,
      "payerStatus": "APPROVED",
      "payerVlanId": 102,
      "promoCode": {},
      "provisionDate": 1655237853019,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": {},
      "serviceLicense": {},
      "setup": {},
      "speed": 550,
      "usageAlgorithm": "POST_PAID_HOURLY_SPEED_LONG_HAUL_VXC",
      "vxc": {
        "aLocation": null,
        "aLocationId": null,
        "accountManager": null,
        "adminContactId": null,
        "adminContactName": null,
        "adminLocked": false,
        "aggregationId": null,
        "attributeTags": {},
        "attributes": [],
        "bLocation": null,
        "bLocationId": null,
        "bgpShutdownDefault": false,
        "billableId": null,
        "billableUsageAlgorithm": null,
        "billingContactId": null,
        "billingContactName": null,
        "buyoutPort": null,
        "companyId": 1153,
        "companyName": "Megaport Lab",
        "components": [],
        "configuredDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1655237853052,
        "createdBy": "6223425b-e19c-4337-85e6-dffaac81350c",
        "currentEstimatedDelivery": null,
        "errorMessage": null,
        "failedReason": null,
        "inAdvanceBillingStatus": null,
        "intercapPath": "",
        "lagPrimary": false,
        "locked": false,
        "market": "USA",
        "marketplaceVisibility": true,
        "maximumSpeed": null,
        "minimumSpeed": null,
        "name": "My Fortinet MVE VXC",
        "nonPayerCompanyId": null,
        "payerCompanyId": null,
        "productType": "VXC",
        "promptUid": null,
        "provisioningItems": [],
        "provisioningStatus": "DEPLOYABLE",
        "rateLimit": 550,
        "rateType": "MONTHLY",
        "requestedDate": 1655237853019,
        "salesId": null,
        "salesName": null,
        "secondaryName": null,
        "serviceName": "My Fortinet MVE VXC",
        "tags": [],
        "technicalContactId": null,
        "technicalContactName": null,
        "technicalServiceId": 124606,
        "technicalServiceUid": "bd563f52-1386-456e-a20f-bc4314dc0159",
        "terminationDate": null,
        "trialAgreement": false,
        "virtual": false,
        "vxcAutoApproval": false,
        "vxcDistanceBand": "INTERZONE",
        "vxcPermitted": true
      },
      "vxcJTechnicalServiceId": 124606,
      "vxcJTechnicalServiceUid": "bd563f52-1386-456e-a20f-bc4314dc0159",
      "vxcOrderId": 91282,
      "webAirProvItem": {}
    }
  ],
  "message": "VXC [bd563f52-1386-456e-a20f-bc4314dc0159] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy VXC for MVE (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "associatedVxcs": [
            {
                "aEnd": {
                    "innerVlan": 12,
                    "vlan": 102
                },
                "bEnd": {
                    "productUid": "5aa96068-38bd-4031-bb36-0d0a9b471bc8",
                    "vlan": 101
                },
                "productName": "My Fortinet MVE VXC",
                "rateLimit": 550
            }
        ],
        "productUid": "596d85b9-a7f8-417b-ba82-50d601dff464"
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy VXC for MVE (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"associatedVxcs":[{"aEnd":{"innerVlan":12,"vlan":102},"bEnd":{"productUid":"5aa96068-38bd-4031-bb36-0d0a9b471bc8","vlan":101},"productName":"My Fortinet MVE VXC","rateLimit":550}],"productUid":"596d85b9-a7f8-417b-ba82-50d601dff464"}]'
};

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

```go Buy VXC for MVE (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"innerVlan\": 12,\n          \"vlan\": 102\n        },\n        \"bEnd\": {\n          \"productUid\": \"5aa96068-38bd-4031-bb36-0d0a9b471bc8\",\n          \"vlan\": 101\n        },\n        \"productName\": \"My Fortinet MVE VXC\",\n        \"rateLimit\": 550\n      }\n    ],\n    \"productUid\": \"596d85b9-a7f8-417b-ba82-50d601dff464\"\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy VXC for MVE (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"innerVlan\": 12,\n          \"vlan\": 102\n        },\n        \"bEnd\": {\n          \"productUid\": \"5aa96068-38bd-4031-bb36-0d0a9b471bc8\",\n          \"vlan\": 101\n        },\n        \"productName\": \"My Fortinet MVE VXC\",\n        \"rateLimit\": 550\n      }\n    ],\n    \"productUid\": \"596d85b9-a7f8-417b-ba82-50d601dff464\"\n  }\n]"

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

```java Buy VXC for MVE (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"innerVlan\": 12,\n          \"vlan\": 102\n        },\n        \"bEnd\": {\n          \"productUid\": \"5aa96068-38bd-4031-bb36-0d0a9b471bc8\",\n          \"vlan\": 101\n        },\n        \"productName\": \"My Fortinet MVE VXC\",\n        \"rateLimit\": 550\n      }\n    ],\n    \"productUid\": \"596d85b9-a7f8-417b-ba82-50d601dff464\"\n  }\n]")
  .asString();
```

```php Buy VXC for MVE (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "innerVlan": 12,
          "vlan": 102
        },
        "bEnd": {
          "productUid": "5aa96068-38bd-4031-bb36-0d0a9b471bc8",
          "vlan": 101
        },
        "productName": "My Fortinet MVE VXC",
        "rateLimit": 550
      }
    ],
    "productUid": "596d85b9-a7f8-417b-ba82-50d601dff464"
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy VXC for MVE (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"innerVlan\": 12,\n          \"vlan\": 102\n        },\n        \"bEnd\": {\n          \"productUid\": \"5aa96068-38bd-4031-bb36-0d0a9b471bc8\",\n          \"vlan\": 101\n        },\n        \"productName\": \"My Fortinet MVE VXC\",\n        \"rateLimit\": 550\n      }\n    ],\n    \"productUid\": \"596d85b9-a7f8-417b-ba82-50d601dff464\"\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy VXC for MVE (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "associatedVxcs": [
      [
        "aEnd": [
          "innerVlan": 12,
          "vlan": 102
        ],
        "bEnd": [
          "productUid": "5aa96068-38bd-4031-bb36-0d0a9b471bc8",
          "vlan": 101
        ],
        "productName": "My Fortinet MVE VXC",
        "rateLimit": 550
      ]
    ],
    "productUid": "596d85b9-a7f8-417b-ba82-50d601dff464"
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy a LAG (v3)

**Request**

```json
[
  {
    "createDate": 1560124227180,
    "locationId": 2,
    "locationUid": null,
    "market": "AU",
    "portSpeed": 10000,
    "productName": "LAG - 2PORT - DOC SAMPLE",
    "productType": "MEGAPORT",
    "term": 12,
    "associatedIxs": [],
    "associatedVxcs": [],
    "lagPortCount": 2,
    "marketplaceVisibility": false
  }
]
```

**Response**

```json
{
  "data": [
    {
      "aLocation": "syd-sy1",
      "aLocationId": 2,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 73111,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 12,
      "createDate": 1608579841903,
      "createdBy": "52a26471-94de-4d32-b89e-0cd5d26c1f65",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": true,
      "locked": false,
      "market": "Australia",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "LAG - 2PORT - DOC SAMPLE",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MEGAPORT",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": 10000,
      "rateType": "MONTHLY",
      "requestedDate": 1608579841903,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "LAG - 2PORT - DOC SAMPLE",
      "tags": [
        "PORTAL_LAG"
      ],
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 74161,
      "technicalServiceUid": "d7639782-e612-4024-b81b-e2b7818ab315",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true
    },
    {
      "aLocation": "syd-sy1",
      "aLocationId": 2,
      "accountManager": null,
      "adminContactId": null,
      "adminContactName": null,
      "adminLocked": false,
      "aggregationId": null,
      "attributeTags": {},
      "attributes": [],
      "bLocation": null,
      "bLocationId": null,
      "bgpShutdownDefault": false,
      "billableId": 73112,
      "billableUsageAlgorithm": null,
      "billingContactId": null,
      "billingContactName": null,
      "buyoutPort": false,
      "companyId": 1153,
      "companyName": "Megaport Lab",
      "components": [],
      "configuredDate": null,
      "contractStartDate": null,
      "contractTermMonths": 12,
      "createDate": 1608579842326,
      "createdBy": "52a26471-94de-4d32-b89e-0cd5d26c1f65",
      "currentEstimatedDelivery": null,
      "errorMessage": null,
      "inAdvanceBillingStatus": null,
      "intercapPath": null,
      "lagPrimary": false,
      "locked": false,
      "market": "Australia",
      "marketplaceVisibility": false,
      "maximumSpeed": null,
      "minimumSpeed": null,
      "name": "LAG - 2PORT - DOC SAMPLE",
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "productType": "MEGAPORT",
      "promptUid": null,
      "provisioningItems": [],
      "provisioningStatus": "DEPLOYABLE",
      "rateLimit": 10000,
      "rateType": "MONTHLY",
      "requestedDate": 1608579842326,
      "salesId": null,
      "salesName": null,
      "secondaryName": null,
      "serviceName": "LAG - 2PORT - DOC SAMPLE",
      "tags": [
        "PORTAL_LAG"
      ],
      "technicalContactId": null,
      "technicalContactName": null,
      "technicalServiceId": 74162,
      "technicalServiceUid": "644b4028-0a97-4860-ac01-f5dee4d0d9e5",
      "terminationDate": null,
      "trialAgreement": false,
      "virtual": false,
      "vxcAutoApproval": false,
      "vxcDistanceBand": null,
      "vxcPermitted": true
    }
  ],
  "message": "MEGAPORT [d7639782-e612-4024-b81b-e2b7818ab315] creado. MEGAPORT [644b4028-0a97-4860-ac01-f5dee4d0d9e5] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy a LAG (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "createDate": 1560124227180,
        "locationId": 2,
        "locationUid": None,
        "market": "AU",
        "portSpeed": 10000,
        "productName": "LAG - 2PORT - DOC SAMPLE",
        "productType": "MEGAPORT",
        "term": 12,
        "associatedIxs": [],
        "associatedVxcs": [],
        "lagPortCount": 2,
        "marketplaceVisibility": False
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy a LAG (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"createDate":1560124227180,"locationId":2,"locationUid":null,"market":"AU","portSpeed":10000,"productName":"LAG - 2PORT - DOC SAMPLE","productType":"MEGAPORT","term":12,"associatedIxs":[],"associatedVxcs":[],"lagPortCount":2,"marketplaceVisibility":false}]'
};

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

```go Buy a LAG (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"createDate\": 1560124227180,\n    \"locationId\": 2,\n    \"locationUid\": null,\n    \"market\": \"AU\",\n    \"portSpeed\": 10000,\n    \"productName\": \"LAG - 2PORT - DOC SAMPLE\",\n    \"productType\": \"MEGAPORT\",\n    \"term\": 12,\n    \"associatedIxs\": [],\n    \"associatedVxcs\": [],\n    \"lagPortCount\": 2,\n    \"marketplaceVisibility\": false\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy a LAG (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"createDate\": 1560124227180,\n    \"locationId\": 2,\n    \"locationUid\": null,\n    \"market\": \"AU\",\n    \"portSpeed\": 10000,\n    \"productName\": \"LAG - 2PORT - DOC SAMPLE\",\n    \"productType\": \"MEGAPORT\",\n    \"term\": 12,\n    \"associatedIxs\": [],\n    \"associatedVxcs\": [],\n    \"lagPortCount\": 2,\n    \"marketplaceVisibility\": false\n  }\n]"

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

```java Buy a LAG (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"createDate\": 1560124227180,\n    \"locationId\": 2,\n    \"locationUid\": null,\n    \"market\": \"AU\",\n    \"portSpeed\": 10000,\n    \"productName\": \"LAG - 2PORT - DOC SAMPLE\",\n    \"productType\": \"MEGAPORT\",\n    \"term\": 12,\n    \"associatedIxs\": [],\n    \"associatedVxcs\": [],\n    \"lagPortCount\": 2,\n    \"marketplaceVisibility\": false\n  }\n]")
  .asString();
```

```php Buy a LAG (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "createDate": 1560124227180,
    "locationId": 2,
    "locationUid": null,
    "market": "AU",
    "portSpeed": 10000,
    "productName": "LAG - 2PORT - DOC SAMPLE",
    "productType": "MEGAPORT",
    "term": 12,
    "associatedIxs": [],
    "associatedVxcs": [],
    "lagPortCount": 2,
    "marketplaceVisibility": false
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy a LAG (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"createDate\": 1560124227180,\n    \"locationId\": 2,\n    \"locationUid\": null,\n    \"market\": \"AU\",\n    \"portSpeed\": 10000,\n    \"productName\": \"LAG - 2PORT - DOC SAMPLE\",\n    \"productType\": \"MEGAPORT\",\n    \"term\": 12,\n    \"associatedIxs\": [],\n    \"associatedVxcs\": [],\n    \"lagPortCount\": 2,\n    \"marketplaceVisibility\": false\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy a LAG (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "createDate": 1560124227180,
    "locationId": 2,
    "locationUid": ,
    "market": "AU",
    "portSpeed": 10000,
    "productName": "LAG - 2PORT - DOC SAMPLE",
    "productType": "MEGAPORT",
    "term": 12,
    "associatedIxs": [],
    "associatedVxcs": [],
    "lagPortCount": 2,
    "marketplaceVisibility": false
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Create VXC to 3DS Outscale (v3)

**Request**

```json
[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "vlan": 0
        },
        "bEnd": {
          "productUid": "ec7ceefc-0c57-44fb-87bc-ae34da1f6dcd"
        },
        "partnerConfigs": {
          "account_id": "187425920085",
          "asn": 65333,
          "connectType": "OUTSCALE",
          "customer_asn": 65333,
          "name": "My VXC",
          "type": "private"
        },
        "productName": "My 3DS Outscale VXC",
        "rateLimit": "5000",
        "term": 12
      }
    ],
    "productUid": "a8e1d4cb-8fb6-4cf7-be23-761138293677"
  }
]
```

**Response**

```json
{
  "data": [
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1703213937310,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "salesId": null,
      "serviceName": "from GB France-IX to EU (Paris) (eu-west-2)",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "OUTSCALE",
      "dealUid": {},
      "discountMonths": {},
      "distanceBand": "INTERZONE",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": true,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": 1703213937303,
      "nonPayerApproverId": 50402,
      "nonPayerApproverName": "Greg Brown",
      "nonPayerCompanyName": "3DS OUTSCALE",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 634,
      "nonPayerMegaPortId": 106829,
      "nonPayerMegaPortName": "EU (Paris) (eu-west-2)",
      "nonPayerMegaPortNsId": 249872,
      "nonPayerStatus": "APPROVED",
      "nonPayerVlanId": 0,
      "oracleVirtualCircuitId": {},
      "orderType": "NEW",
      "originDomain": {},
      "payerApproval": 1703213937270,
      "payerApproverId": 50402,
      "payerApproverName": "Greg Brown",
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": {},
      "payerLocationId": 23,
      "payerMegaPortId": 183317,
      "payerMegaPortName": "GB France-IX",
      "payerMegaPortNsId": 490528,
      "payerStatus": "APPROVED",
      "payerVlanId": 0,
      "promoCode": {},
      "provisionDate": 1703213937263,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": {},
      "serviceLicense": {},
      "setup": {},
      "speed": 5000,
      "usageAlgorithm": "POST_PAID_HOURLY_SPEED_LONG_HAUL_VXC",
      "vxc": {
        "aCountry": null,
        "aLocation": null,
        "aLocationId": null,
        "aMetro": null,
        "accountManager": null,
        "adminContactId": null,
        "adminContactName": null,
        "adminLocked": false,
        "aggregationId": null,
        "attributeTags": {},
        "attributes": [],
        "bCountry": null,
        "bLocation": null,
        "bLocationId": null,
        "bMetro": null,
        "bgpShutdownDefault": false,
        "billableId": 175168,
        "billableUsageAlgorithm": null,
        "billingContactId": null,
        "billingContactName": null,
        "buyoutPort": null,
        "companyId": 1153,
        "companyName": "Megaport Lab",
        "components": [],
        "configuredDate": null,
        "contractStartDate": null,
        "contractTermMonths": 12,
        "createDate": 1703213937291,
        "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
        "currentEstimatedDelivery": null,
        "errorMessage": null,
        "failedReason": null,
        "inAdvanceBillingStatus": null,
        "intercapPath": "",
        "lagId": null,
        "lagPrimary": null,
        "locked": false,
        "market": "Australia",
        "marketplaceVisibility": true,
        "maximumSpeed": null,
        "minimumSpeed": null,
        "name": "My 3DS Outscale VXC",
        "nonPayerCompanyId": null,
        "originDomain": null,
        "payerCompanyId": null,
        "productType": "VXC",
        "promptUid": null,
        "provisioningItems": [],
        "provisioningStatus": "DEPLOYABLE",
        "rateLimit": 5000,
        "rateType": "MONTHLY",
        "requestedDate": 1703213937263,
        "salesId": null,
        "salesName": null,
        "secondaryName": null,
        "serviceName": "My 3DS Outscale VXC",
        "tags": [],
        "technicalContactId": null,
        "technicalContactName": null,
        "technicalServiceId": 183355,
        "technicalServiceUid": "ebfaddbb-5ed2-4075-92a0-201f3eb54f77",
        "terminationDate": null,
        "trialAgreement": false,
        "virtual": false,
        "vxcAutoApproval": false,
        "vxcDistanceBand": "INTERZONE",
        "vxcPermitted": true
      },
      "vxcJTechnicalServiceId": 183355,
      "vxcJTechnicalServiceUid": "ebfaddbb-5ed2-4075-92a0-201f3eb54f77",
      "vxcOrderId": 135123,
      "webAirProvItem": {}
    }
  ],
  "message": "VXC [ebfaddbb-5ed2-4075-92a0-201f3eb54f77] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Create VXC to 3DS Outscale (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "associatedVxcs": [
            {
                "aEnd": { "vlan": 0 },
                "bEnd": { "productUid": "ec7ceefc-0c57-44fb-87bc-ae34da1f6dcd" },
                "partnerConfigs": {
                    "account_id": "187425920085",
                    "asn": 65333,
                    "connectType": "OUTSCALE",
                    "customer_asn": 65333,
                    "name": "My VXC",
                    "type": "private"
                },
                "productName": "My 3DS Outscale VXC",
                "rateLimit": "5000",
                "term": 12
            }
        ],
        "productUid": "a8e1d4cb-8fb6-4cf7-be23-761138293677"
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Create VXC to 3DS Outscale (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"associatedVxcs":[{"aEnd":{"vlan":0},"bEnd":{"productUid":"ec7ceefc-0c57-44fb-87bc-ae34da1f6dcd"},"partnerConfigs":{"account_id":"187425920085","asn":65333,"connectType":"OUTSCALE","customer_asn":65333,"name":"My VXC","type":"private"},"productName":"My 3DS Outscale VXC","rateLimit":"5000","term":12}],"productUid":"a8e1d4cb-8fb6-4cf7-be23-761138293677"}]'
};

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

```go Create VXC to 3DS Outscale (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 0\n        },\n        \"bEnd\": {\n          \"productUid\": \"ec7ceefc-0c57-44fb-87bc-ae34da1f6dcd\"\n        },\n        \"partnerConfigs\": {\n          \"account_id\": \"187425920085\",\n          \"asn\": 65333,\n          \"connectType\": \"OUTSCALE\",\n          \"customer_asn\": 65333,\n          \"name\": \"My VXC\",\n          \"type\": \"private\"\n        },\n        \"productName\": \"My 3DS Outscale VXC\",\n        \"rateLimit\": \"5000\",\n        \"term\": 12\n      }\n    ],\n    \"productUid\": \"a8e1d4cb-8fb6-4cf7-be23-761138293677\"\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Create VXC to 3DS Outscale (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 0\n        },\n        \"bEnd\": {\n          \"productUid\": \"ec7ceefc-0c57-44fb-87bc-ae34da1f6dcd\"\n        },\n        \"partnerConfigs\": {\n          \"account_id\": \"187425920085\",\n          \"asn\": 65333,\n          \"connectType\": \"OUTSCALE\",\n          \"customer_asn\": 65333,\n          \"name\": \"My VXC\",\n          \"type\": \"private\"\n        },\n        \"productName\": \"My 3DS Outscale VXC\",\n        \"rateLimit\": \"5000\",\n        \"term\": 12\n      }\n    ],\n    \"productUid\": \"a8e1d4cb-8fb6-4cf7-be23-761138293677\"\n  }\n]"

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

```java Create VXC to 3DS Outscale (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 0\n        },\n        \"bEnd\": {\n          \"productUid\": \"ec7ceefc-0c57-44fb-87bc-ae34da1f6dcd\"\n        },\n        \"partnerConfigs\": {\n          \"account_id\": \"187425920085\",\n          \"asn\": 65333,\n          \"connectType\": \"OUTSCALE\",\n          \"customer_asn\": 65333,\n          \"name\": \"My VXC\",\n          \"type\": \"private\"\n        },\n        \"productName\": \"My 3DS Outscale VXC\",\n        \"rateLimit\": \"5000\",\n        \"term\": 12\n      }\n    ],\n    \"productUid\": \"a8e1d4cb-8fb6-4cf7-be23-761138293677\"\n  }\n]")
  .asString();
```

```php Create VXC to 3DS Outscale (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "vlan": 0
        },
        "bEnd": {
          "productUid": "ec7ceefc-0c57-44fb-87bc-ae34da1f6dcd"
        },
        "partnerConfigs": {
          "account_id": "187425920085",
          "asn": 65333,
          "connectType": "OUTSCALE",
          "customer_asn": 65333,
          "name": "My VXC",
          "type": "private"
        },
        "productName": "My 3DS Outscale VXC",
        "rateLimit": "5000",
        "term": 12
      }
    ],
    "productUid": "a8e1d4cb-8fb6-4cf7-be23-761138293677"
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Create VXC to 3DS Outscale (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 0\n        },\n        \"bEnd\": {\n          \"productUid\": \"ec7ceefc-0c57-44fb-87bc-ae34da1f6dcd\"\n        },\n        \"partnerConfigs\": {\n          \"account_id\": \"187425920085\",\n          \"asn\": 65333,\n          \"connectType\": \"OUTSCALE\",\n          \"customer_asn\": 65333,\n          \"name\": \"My VXC\",\n          \"type\": \"private\"\n        },\n        \"productName\": \"My 3DS Outscale VXC\",\n        \"rateLimit\": \"5000\",\n        \"term\": 12\n      }\n    ],\n    \"productUid\": \"a8e1d4cb-8fb6-4cf7-be23-761138293677\"\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Create VXC to 3DS Outscale (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "associatedVxcs": [
      [
        "aEnd": ["vlan": 0],
        "bEnd": ["productUid": "ec7ceefc-0c57-44fb-87bc-ae34da1f6dcd"],
        "partnerConfigs": [
          "account_id": "187425920085",
          "asn": 65333,
          "connectType": "OUTSCALE",
          "customer_asn": 65333,
          "name": "My VXC",
          "type": "private"
        ],
        "productName": "My 3DS Outscale VXC",
        "rateLimit": "5000",
        "term": 12
      ]
    ],
    "productUid": "a8e1d4cb-8fb6-4cf7-be23-761138293677"
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Create VXC to Azure (v3)

**Request**

```json
[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "innerVlan": 132
        },
        "bEnd": {
          "innerVlan": 132,
          "productUid": "fece8275-86ec-4bbd-b328-67ddac6d852e"
        },
        "partnerConfigs": {
          "connectType": "AZURE",
          "serviceKey": "197d927b-90bc-4b1b-bffd-fca17a7ec735"
        },
        "productName": "My New Azure VXC",
        "rateLimit": 1000
      }
    ],
    "productUid": "02ec2091-46bb-4904-bd17-96c752ff826e"
  }
]
```

**Response**

```json
{
  "data": [
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1680246964379,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "salesId": null,
      "serviceName": "from greg T to Sydney Primary",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": "197d927b-90bc-4b1b-bffd-fca17a7ec735",
      "bgpPassword": {},
      "connectType": "AZURE",
      "dealUid": {},
      "discountMonths": {},
      "distanceBand": "METRO",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": true,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": 1680246964362,
      "nonPayerApproverId": 50402,
      "nonPayerApproverName": "Greg Brown",
      "nonPayerCompanyName": "Azure ExpressRoute",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": 132,
      "nonPayerLocationId": 2,
      "nonPayerMegaPortId": 24581,
      "nonPayerMegaPortName": "Sydney Primary",
      "nonPayerMegaPortNsId": 55860,
      "nonPayerStatus": "APPROVED",
      "nonPayerVlanId": 0,
      "oracleVirtualCircuitId": {},
      "orderType": "NEW",
      "originDomain": {},
      "payerApproval": 1680246964333,
      "payerApproverId": 50402,
      "payerApproverName": "Greg Brown",
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": 132,
      "payerLocationId": 2,
      "payerMegaPortId": 155354,
      "payerMegaPortName": "greg T",
      "payerMegaPortNsId": 397416,
      "payerStatus": "APPROVED",
      "payerVlanId": 0,
      "promoCode": {},
      "provisionDate": 1680246964320,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": {},
      "serviceLicense": {},
      "setup": {},
      "speed": 1000,
      "usageAlgorithm": "POST_PAID_HOURLY_SPEED_METRO_VXC",
      "vxc": {
        "aLocation": null,
        "aLocationId": null,
        "accountManager": null,
        "adminContactId": null,
        "adminContactName": null,
        "adminLocked": false,
        "attributeTags": {},
        "attributes": [],
        "bLocation": null,
        "bLocationId": null,
        "bgpShutdownDefault": false,
        "billableId": 147640,
        "billableUsageAlgorithm": null,
        "billingContactId": null,
        "billingContactName": null,
        "buyoutPort": null,
        "companyId": 1153,
        "companyName": "Megaport Lab",
        "components": [],
        "configuredDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1680246964352,
        "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
        "currentEstimatedDelivery": null,
        "errorMessage": null,
        "failedReason": null,
        "inAdvanceBillingStatus": null,
        "intercapPath": "",
        "locked": false,
        "market": "Australia",
        "marketplaceVisibility": true,
        "maximumSpeed": null,
        "minimumSpeed": null,
        "name": "My New Azure VXC",
        "nonPayerCompanyId": null,
        "originDomain": null,
        "payerCompanyId": null,
        "productType": "VXC",
        "promptUid": null,
        "provisioningItems": [],
        "provisioningStatus": "DEPLOYABLE",
        "rateLimit": 1000,
        "rateType": "MONTHLY",
        "requestedDate": 1680246964320,
        "salesId": null,
        "salesName": null,
        "secondaryName": null,
        "serviceName": "My New Azure VXC",
        "tags": [],
        "technicalContactId": null,
        "technicalContactName": null,
        "technicalServiceId": 155735,
        "technicalServiceUid": "6cf7199e-a273-4352-97f7-3a772bc492e4",
        "terminationDate": null,
        "trialAgreement": false,
        "virtual": false,
        "vxcAutoApproval": false,
        "vxcDistanceBand": "METRO",
        "vxcPermitted": true
      },
      "vxcJTechnicalServiceId": 155735,
      "vxcJTechnicalServiceUid": "6cf7199e-a273-4352-97f7-3a772bc492e4",
      "vxcOrderId": 114015,
      "webAirProvItem": {}
    }
  ],
  "message": "VXC [6cf7199e-a273-4352-97f7-3a772bc492e4] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Create VXC to Azure (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "associatedVxcs": [
            {
                "aEnd": { "innerVlan": 132 },
                "bEnd": {
                    "innerVlan": 132,
                    "productUid": "fece8275-86ec-4bbd-b328-67ddac6d852e"
                },
                "partnerConfigs": {
                    "connectType": "AZURE",
                    "serviceKey": "197d927b-90bc-4b1b-bffd-fca17a7ec735"
                },
                "productName": "My New Azure VXC",
                "rateLimit": 1000
            }
        ],
        "productUid": "02ec2091-46bb-4904-bd17-96c752ff826e"
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Create VXC to Azure (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"associatedVxcs":[{"aEnd":{"innerVlan":132},"bEnd":{"innerVlan":132,"productUid":"fece8275-86ec-4bbd-b328-67ddac6d852e"},"partnerConfigs":{"connectType":"AZURE","serviceKey":"197d927b-90bc-4b1b-bffd-fca17a7ec735"},"productName":"My New Azure VXC","rateLimit":1000}],"productUid":"02ec2091-46bb-4904-bd17-96c752ff826e"}]'
};

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

```go Create VXC to Azure (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"innerVlan\": 132\n        },\n        \"bEnd\": {\n          \"innerVlan\": 132,\n          \"productUid\": \"fece8275-86ec-4bbd-b328-67ddac6d852e\"\n        },\n        \"partnerConfigs\": {\n          \"connectType\": \"AZURE\",\n          \"serviceKey\": \"197d927b-90bc-4b1b-bffd-fca17a7ec735\"\n        },\n        \"productName\": \"My New Azure VXC\",\n        \"rateLimit\": 1000\n      }\n    ],\n    \"productUid\": \"02ec2091-46bb-4904-bd17-96c752ff826e\"\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Create VXC to Azure (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"innerVlan\": 132\n        },\n        \"bEnd\": {\n          \"innerVlan\": 132,\n          \"productUid\": \"fece8275-86ec-4bbd-b328-67ddac6d852e\"\n        },\n        \"partnerConfigs\": {\n          \"connectType\": \"AZURE\",\n          \"serviceKey\": \"197d927b-90bc-4b1b-bffd-fca17a7ec735\"\n        },\n        \"productName\": \"My New Azure VXC\",\n        \"rateLimit\": 1000\n      }\n    ],\n    \"productUid\": \"02ec2091-46bb-4904-bd17-96c752ff826e\"\n  }\n]"

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

```java Create VXC to Azure (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"innerVlan\": 132\n        },\n        \"bEnd\": {\n          \"innerVlan\": 132,\n          \"productUid\": \"fece8275-86ec-4bbd-b328-67ddac6d852e\"\n        },\n        \"partnerConfigs\": {\n          \"connectType\": \"AZURE\",\n          \"serviceKey\": \"197d927b-90bc-4b1b-bffd-fca17a7ec735\"\n        },\n        \"productName\": \"My New Azure VXC\",\n        \"rateLimit\": 1000\n      }\n    ],\n    \"productUid\": \"02ec2091-46bb-4904-bd17-96c752ff826e\"\n  }\n]")
  .asString();
```

```php Create VXC to Azure (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "innerVlan": 132
        },
        "bEnd": {
          "innerVlan": 132,
          "productUid": "fece8275-86ec-4bbd-b328-67ddac6d852e"
        },
        "partnerConfigs": {
          "connectType": "AZURE",
          "serviceKey": "197d927b-90bc-4b1b-bffd-fca17a7ec735"
        },
        "productName": "My New Azure VXC",
        "rateLimit": 1000
      }
    ],
    "productUid": "02ec2091-46bb-4904-bd17-96c752ff826e"
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Create VXC to Azure (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"innerVlan\": 132\n        },\n        \"bEnd\": {\n          \"innerVlan\": 132,\n          \"productUid\": \"fece8275-86ec-4bbd-b328-67ddac6d852e\"\n        },\n        \"partnerConfigs\": {\n          \"connectType\": \"AZURE\",\n          \"serviceKey\": \"197d927b-90bc-4b1b-bffd-fca17a7ec735\"\n        },\n        \"productName\": \"My New Azure VXC\",\n        \"rateLimit\": 1000\n      }\n    ],\n    \"productUid\": \"02ec2091-46bb-4904-bd17-96c752ff826e\"\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Create VXC to Azure (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "associatedVxcs": [
      [
        "aEnd": ["innerVlan": 132],
        "bEnd": [
          "innerVlan": 132,
          "productUid": "fece8275-86ec-4bbd-b328-67ddac6d852e"
        ],
        "partnerConfigs": [
          "connectType": "AZURE",
          "serviceKey": "197d927b-90bc-4b1b-bffd-fca17a7ec735"
        ],
        "productName": "My New Azure VXC",
        "rateLimit": 1000
      ]
    ],
    "productUid": "02ec2091-46bb-4904-bd17-96c752ff826e"
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Create VXC to Google Cloud (v3)

**Request**

```json
[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "innerVlan": 0
        },
        "bEnd": {
          "partnerConfig": {
            "connectType": "GOOGLE",
            "pairingKey": "246bf9c3-34b5-49f3-b8d9-73c04399673c/australia-southeast1/1"
          },
          "productUid": "4aaf6946-6166-4f41-b726-b388aad98fcb"
        },
        "productName": "Test Google MVE VXC",
        "rateLimit": 100
      }
    ],
    "productUid": "8acc7925-4fda-45a3-a955-ce5d89c59593"
  }
]
```

**Response**

```json
{
  "data": [
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1680077872960,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "salesId": null,
      "serviceName": "from Greg MVE to Sydney (syd-zone1-1660)",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "GOOGLE",
      "dealUid": {},
      "discountMonths": {},
      "distanceBand": "METRO",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": true,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": 1680077872944,
      "nonPayerApproverId": 50402,
      "nonPayerApproverName": "Greg Brown",
      "nonPayerCompanyName": "Google Inc",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 10,
      "nonPayerMegaPortId": 81456,
      "nonPayerMegaPortName": "Sydney (syd-zone1-1660)",
      "nonPayerMegaPortNsId": 181638,
      "nonPayerStatus": "APPROVED",
      "nonPayerVlanId": 0,
      "oracleVirtualCircuitId": {},
      "orderType": "NEW",
      "originDomain": {},
      "payerApproval": 1680077872920,
      "payerApproverId": 50402,
      "payerApproverName": "Greg Brown",
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": 0,
      "payerLocationId": 2,
      "payerMegaPortId": 155247,
      "payerMegaPortName": "Greg MVE",
      "payerMegaPortNsId": 398160,
      "payerStatus": "APPROVED",
      "payerVlanId": 0,
      "promoCode": {},
      "provisionDate": 1680077872914,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": {},
      "serviceLicense": {},
      "setup": {},
      "speed": 100,
      "usageAlgorithm": "POST_PAID_HOURLY_SPEED_METRO_VXC",
      "vxc": {
        "aLocation": null,
        "aLocationId": null,
        "accountManager": null,
        "adminContactId": null,
        "adminContactName": null,
        "adminLocked": false,
        "attributeTags": {},
        "attributes": [],
        "bLocation": null,
        "bLocationId": null,
        "bgpShutdownDefault": false,
        "billableId": 147194,
        "billableUsageAlgorithm": null,
        "billingContactId": null,
        "billingContactName": null,
        "buyoutPort": null,
        "companyId": 1153,
        "companyName": "Megaport Lab",
        "components": [],
        "configuredDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1680077872938,
        "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
        "currentEstimatedDelivery": null,
        "errorMessage": null,
        "failedReason": null,
        "inAdvanceBillingStatus": null,
        "intercapPath": "",
        "locked": false,
        "market": "Australia",
        "marketplaceVisibility": true,
        "maximumSpeed": null,
        "minimumSpeed": null,
        "name": "Test Google MVE VXC",
        "nonPayerCompanyId": null,
        "originDomain": null,
        "payerCompanyId": null,
        "productType": "VXC",
        "promptUid": null,
        "provisioningItems": [],
        "provisioningStatus": "DEPLOYABLE",
        "rateLimit": 100,
        "rateType": "MONTHLY",
        "requestedDate": 1680077872914,
        "salesId": null,
        "salesName": null,
        "secondaryName": null,
        "serviceName": "Test Google MVE VXC",
        "tags": [],
        "technicalContactId": null,
        "technicalContactName": null,
        "technicalServiceId": 155249,
        "technicalServiceUid": "6516dd8a-6558-4867-aa38-20830ea89cbb",
        "terminationDate": null,
        "trialAgreement": false,
        "virtual": false,
        "vxcAutoApproval": false,
        "vxcDistanceBand": "METRO",
        "vxcPermitted": true
      },
      "vxcJTechnicalServiceId": 155249,
      "vxcJTechnicalServiceUid": "6516dd8a-6558-4867-aa38-20830ea89cbb",
      "vxcOrderId": 113661,
      "webAirProvItem": {}
    }
  ],
  "message": "VXC [6516dd8a-6558-4867-aa38-20830ea89cbb] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Create VXC to Google Cloud (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "associatedVxcs": [
            {
                "aEnd": { "innerVlan": 0 },
                "bEnd": {
                    "partnerConfig": {
                        "connectType": "GOOGLE",
                        "pairingKey": "246bf9c3-34b5-49f3-b8d9-73c04399673c/australia-southeast1/1"
                    },
                    "productUid": "4aaf6946-6166-4f41-b726-b388aad98fcb"
                },
                "productName": "Test Google MVE VXC",
                "rateLimit": 100
            }
        ],
        "productUid": "8acc7925-4fda-45a3-a955-ce5d89c59593"
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Create VXC to Google Cloud (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"associatedVxcs":[{"aEnd":{"innerVlan":0},"bEnd":{"partnerConfig":{"connectType":"GOOGLE","pairingKey":"246bf9c3-34b5-49f3-b8d9-73c04399673c/australia-southeast1/1"},"productUid":"4aaf6946-6166-4f41-b726-b388aad98fcb"},"productName":"Test Google MVE VXC","rateLimit":100}],"productUid":"8acc7925-4fda-45a3-a955-ce5d89c59593"}]'
};

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

```go Create VXC to Google Cloud (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"innerVlan\": 0\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"connectType\": \"GOOGLE\",\n            \"pairingKey\": \"246bf9c3-34b5-49f3-b8d9-73c04399673c/australia-southeast1/1\"\n          },\n          \"productUid\": \"4aaf6946-6166-4f41-b726-b388aad98fcb\"\n        },\n        \"productName\": \"Test Google MVE VXC\",\n        \"rateLimit\": 100\n      }\n    ],\n    \"productUid\": \"8acc7925-4fda-45a3-a955-ce5d89c59593\"\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Create VXC to Google Cloud (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"innerVlan\": 0\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"connectType\": \"GOOGLE\",\n            \"pairingKey\": \"246bf9c3-34b5-49f3-b8d9-73c04399673c/australia-southeast1/1\"\n          },\n          \"productUid\": \"4aaf6946-6166-4f41-b726-b388aad98fcb\"\n        },\n        \"productName\": \"Test Google MVE VXC\",\n        \"rateLimit\": 100\n      }\n    ],\n    \"productUid\": \"8acc7925-4fda-45a3-a955-ce5d89c59593\"\n  }\n]"

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

```java Create VXC to Google Cloud (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"innerVlan\": 0\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"connectType\": \"GOOGLE\",\n            \"pairingKey\": \"246bf9c3-34b5-49f3-b8d9-73c04399673c/australia-southeast1/1\"\n          },\n          \"productUid\": \"4aaf6946-6166-4f41-b726-b388aad98fcb\"\n        },\n        \"productName\": \"Test Google MVE VXC\",\n        \"rateLimit\": 100\n      }\n    ],\n    \"productUid\": \"8acc7925-4fda-45a3-a955-ce5d89c59593\"\n  }\n]")
  .asString();
```

```php Create VXC to Google Cloud (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "innerVlan": 0
        },
        "bEnd": {
          "partnerConfig": {
            "connectType": "GOOGLE",
            "pairingKey": "246bf9c3-34b5-49f3-b8d9-73c04399673c/australia-southeast1/1"
          },
          "productUid": "4aaf6946-6166-4f41-b726-b388aad98fcb"
        },
        "productName": "Test Google MVE VXC",
        "rateLimit": 100
      }
    ],
    "productUid": "8acc7925-4fda-45a3-a955-ce5d89c59593"
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Create VXC to Google Cloud (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"innerVlan\": 0\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"connectType\": \"GOOGLE\",\n            \"pairingKey\": \"246bf9c3-34b5-49f3-b8d9-73c04399673c/australia-southeast1/1\"\n          },\n          \"productUid\": \"4aaf6946-6166-4f41-b726-b388aad98fcb\"\n        },\n        \"productName\": \"Test Google MVE VXC\",\n        \"rateLimit\": 100\n      }\n    ],\n    \"productUid\": \"8acc7925-4fda-45a3-a955-ce5d89c59593\"\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Create VXC to Google Cloud (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "associatedVxcs": [
      [
        "aEnd": ["innerVlan": 0],
        "bEnd": [
          "partnerConfig": [
            "connectType": "GOOGLE",
            "pairingKey": "246bf9c3-34b5-49f3-b8d9-73c04399673c/australia-southeast1/1"
          ],
          "productUid": "4aaf6946-6166-4f41-b726-b388aad98fcb"
        ],
        "productName": "Test Google MVE VXC",
        "rateLimit": 100
      ]
    ],
    "productUid": "8acc7925-4fda-45a3-a955-ce5d89c59593"
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Create VXC to IBM (v3)

**Request**

```json
[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "vlan": 0
        },
        "bEnd": {
          "productUid": "60996dfb-e397-4f0b-a25c-ae69ff23e538"
        },
        "partnerConfigs": {
          "account_id": "5bf92b31d921499f963592cd816f6be7",
          "asn": 65333,
          "connectType": "IBM",
          "customer_asn": 64999
        },
        "productName": "My IBM VXC",
        "rateLimit": "100"
      }
    ],
    "productUid": "513e3cc4-9527-49d3-8cbb-4ad573df5fe7"
  }
]
```

**Response**

```json
{
  "data": [
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1691647310450,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "salesId": null,
      "serviceName": "from sjc-tx2-vr-4 Guest Production Port Eth1-1 / Eth1-1 to Direct Link Dallas 4 Port 1",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "IBM",
      "dealUid": {},
      "discountMonths": {},
      "distanceBand": "INTERZONE",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": true,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": 1691647310440,
      "nonPayerApproverId": 50402,
      "nonPayerApproverName": "Greg Brown",
      "nonPayerCompanyName": "IBM Cloud",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 72,
      "nonPayerMegaPortId": 11549,
      "nonPayerMegaPortName": "Direct Link Dallas 4 Port 1",
      "nonPayerMegaPortNsId": 26231,
      "nonPayerStatus": "APPROVED",
      "nonPayerVlanId": 0,
      "oracleVirtualCircuitId": {},
      "orderType": "NEW",
      "originDomain": {},
      "payerApproval": 1691647310400,
      "payerApproverId": 50402,
      "payerApproverName": "Greg Brown",
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": {},
      "payerLocationId": 65,
      "payerMegaPortId": 146986,
      "payerMegaPortName": "sjc-tx2-vr-4 Guest Production Port Eth1-1 / Eth1-1",
      "payerMegaPortNsId": 370135,
      "payerStatus": "APPROVED",
      "payerVlanId": 0,
      "promoCode": {},
      "provisionDate": 1691647310397,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": {},
      "serviceLicense": {},
      "setup": {},
      "speed": 100,
      "usageAlgorithm": "POST_PAID_HOURLY_SPEED_LONG_HAUL_VXC",
      "vxc": {
        "aCountry": null,
        "aLocation": null,
        "aLocationId": null,
        "aMetro": null,
        "accountManager": null,
        "adminContactId": null,
        "adminContactName": null,
        "adminLocked": false,
        "aggregationId": null,
        "attributeTags": {},
        "attributes": [],
        "bCountry": null,
        "bLocation": null,
        "bLocationId": null,
        "bMetro": null,
        "bgpShutdownDefault": false,
        "billableId": 161578,
        "billableUsageAlgorithm": null,
        "billingContactId": null,
        "billingContactName": null,
        "buyoutPort": null,
        "companyId": 1153,
        "companyName": "Megaport Lab",
        "components": [],
        "configuredDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1691647310423,
        "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
        "currentEstimatedDelivery": null,
        "errorMessage": null,
        "failedReason": null,
        "inAdvanceBillingStatus": null,
        "intercapPath": "",
        "lagId": null,
        "lagPrimary": null,
        "locked": false,
        "market": "USA",
        "marketplaceVisibility": true,
        "maximumSpeed": null,
        "minimumSpeed": null,
        "name": "My IBM VXC",
        "nonPayerCompanyId": null,
        "originDomain": null,
        "payerCompanyId": null,
        "productType": "VXC",
        "promptUid": null,
        "provisioningItems": [],
        "provisioningStatus": "DEPLOYABLE",
        "rateLimit": 100,
        "rateType": "MONTHLY",
        "requestedDate": 1691647310397,
        "salesId": null,
        "salesName": null,
        "secondaryName": null,
        "serviceName": "My IBM VXC",
        "tags": [],
        "technicalContactId": null,
        "technicalContactName": null,
        "technicalServiceId": 169683,
        "technicalServiceUid": "d88c6d31-34a9-4adf-b3ab-b9aee67d9d8b",
        "terminationDate": null,
        "trialAgreement": false,
        "virtual": false,
        "vxcAutoApproval": false,
        "vxcDistanceBand": "INTERZONE",
        "vxcPermitted": true
      },
      "vxcJTechnicalServiceId": 169683,
      "vxcJTechnicalServiceUid": "d88c6d31-34a9-4adf-b3ab-b9aee67d9d8b",
      "vxcOrderId": 125066,
      "webAirProvItem": {}
    }
  ],
  "message": "VXC [d88c6d31-34a9-4adf-b3ab-b9aee67d9d8b] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Create VXC to IBM (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "associatedVxcs": [
            {
                "aEnd": { "vlan": 0 },
                "bEnd": { "productUid": "60996dfb-e397-4f0b-a25c-ae69ff23e538" },
                "partnerConfigs": {
                    "account_id": "5bf92b31d921499f963592cd816f6be7",
                    "asn": 65333,
                    "connectType": "IBM",
                    "customer_asn": 64999
                },
                "productName": "My IBM VXC",
                "rateLimit": "100"
            }
        ],
        "productUid": "513e3cc4-9527-49d3-8cbb-4ad573df5fe7"
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Create VXC to IBM (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"associatedVxcs":[{"aEnd":{"vlan":0},"bEnd":{"productUid":"60996dfb-e397-4f0b-a25c-ae69ff23e538"},"partnerConfigs":{"account_id":"5bf92b31d921499f963592cd816f6be7","asn":65333,"connectType":"IBM","customer_asn":64999},"productName":"My IBM VXC","rateLimit":"100"}],"productUid":"513e3cc4-9527-49d3-8cbb-4ad573df5fe7"}]'
};

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

```go Create VXC to IBM (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 0\n        },\n        \"bEnd\": {\n          \"productUid\": \"60996dfb-e397-4f0b-a25c-ae69ff23e538\"\n        },\n        \"partnerConfigs\": {\n          \"account_id\": \"5bf92b31d921499f963592cd816f6be7\",\n          \"asn\": 65333,\n          \"connectType\": \"IBM\",\n          \"customer_asn\": 64999\n        },\n        \"productName\": \"My IBM VXC\",\n        \"rateLimit\": \"100\"\n      }\n    ],\n    \"productUid\": \"513e3cc4-9527-49d3-8cbb-4ad573df5fe7\"\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Create VXC to IBM (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 0\n        },\n        \"bEnd\": {\n          \"productUid\": \"60996dfb-e397-4f0b-a25c-ae69ff23e538\"\n        },\n        \"partnerConfigs\": {\n          \"account_id\": \"5bf92b31d921499f963592cd816f6be7\",\n          \"asn\": 65333,\n          \"connectType\": \"IBM\",\n          \"customer_asn\": 64999\n        },\n        \"productName\": \"My IBM VXC\",\n        \"rateLimit\": \"100\"\n      }\n    ],\n    \"productUid\": \"513e3cc4-9527-49d3-8cbb-4ad573df5fe7\"\n  }\n]"

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

```java Create VXC to IBM (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 0\n        },\n        \"bEnd\": {\n          \"productUid\": \"60996dfb-e397-4f0b-a25c-ae69ff23e538\"\n        },\n        \"partnerConfigs\": {\n          \"account_id\": \"5bf92b31d921499f963592cd816f6be7\",\n          \"asn\": 65333,\n          \"connectType\": \"IBM\",\n          \"customer_asn\": 64999\n        },\n        \"productName\": \"My IBM VXC\",\n        \"rateLimit\": \"100\"\n      }\n    ],\n    \"productUid\": \"513e3cc4-9527-49d3-8cbb-4ad573df5fe7\"\n  }\n]")
  .asString();
```

```php Create VXC to IBM (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "vlan": 0
        },
        "bEnd": {
          "productUid": "60996dfb-e397-4f0b-a25c-ae69ff23e538"
        },
        "partnerConfigs": {
          "account_id": "5bf92b31d921499f963592cd816f6be7",
          "asn": 65333,
          "connectType": "IBM",
          "customer_asn": 64999
        },
        "productName": "My IBM VXC",
        "rateLimit": "100"
      }
    ],
    "productUid": "513e3cc4-9527-49d3-8cbb-4ad573df5fe7"
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Create VXC to IBM (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 0\n        },\n        \"bEnd\": {\n          \"productUid\": \"60996dfb-e397-4f0b-a25c-ae69ff23e538\"\n        },\n        \"partnerConfigs\": {\n          \"account_id\": \"5bf92b31d921499f963592cd816f6be7\",\n          \"asn\": 65333,\n          \"connectType\": \"IBM\",\n          \"customer_asn\": 64999\n        },\n        \"productName\": \"My IBM VXC\",\n        \"rateLimit\": \"100\"\n      }\n    ],\n    \"productUid\": \"513e3cc4-9527-49d3-8cbb-4ad573df5fe7\"\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Create VXC to IBM (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "associatedVxcs": [
      [
        "aEnd": ["vlan": 0],
        "bEnd": ["productUid": "60996dfb-e397-4f0b-a25c-ae69ff23e538"],
        "partnerConfigs": [
          "account_id": "5bf92b31d921499f963592cd816f6be7",
          "asn": 65333,
          "connectType": "IBM",
          "customer_asn": 64999
        ],
        "productName": "My IBM VXC",
        "rateLimit": "100"
      ]
    ],
    "productUid": "513e3cc4-9527-49d3-8cbb-4ad573df5fe7"
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Create VXC to Oracle (v3)

**Request**

```json
[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "vlan": 202
        },
        "bEnd": {
          "partnerConfig": {
            "connectType": "ORACLE",
            "virtualCircuitId": "ocid1.virtualcircuit.oc1.phx.aaaaaaaapsokflwszxk3c2vhsyj5pkas3gmh3zngyxx7zj6yxj2stgeofk5q"
          },
          "productUid": "46c71b6d-115e-4de4-8894-4f40d0fdbc98",
          "vlan": 300
        },
        "productName": "My Oracle VXC",
        "rateLimit": 550
      }
    ],
    "productUid": "a0f36688-48a7-4208-a58b-d965cb423694"
  }
]
```

**Response**

```json
{
  "data": [
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1605134495023,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "salesId": null,
      "serviceName": "from My LA API Port to OCI (us-phoenix-1) Primary (BMC)",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "ORACLE",
      "discountMonths": {},
      "distanceBand": "ZONE",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": true,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": 1605134494610,
      "nonPayerApproverId": 32278,
      "nonPayerApproverName": "Eric Akin",
      "nonPayerCompanyName": "Oracle",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 147,
      "nonPayerMegaPortId": 5073,
      "nonPayerMegaPortName": "OCI (us-phoenix-1) Primary (BMC)",
      "nonPayerMegaPortNsId": 10419,
      "nonPayerStatus": "APPROVED",
      "nonPayerVlanId": 300,
      "oracleVirtualCircuitId": "ocid1.virtualcircuit.oc1.phx.aaaaaaaapsokflwszxk3c2vhsyj5pkas3gmh3zngyxx7zj6yxj2stgeofk5q",
      "orderType": "NEW",
      "payerApproval": 1605134494550,
      "payerApproverId": 32278,
      "payerApproverName": "Eric Akin",
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": {},
      "payerLocationId": 60,
      "payerMegaPortId": 70737,
      "payerMegaPortName": "My LA API Port",
      "payerMegaPortNsId": 158640,
      "payerStatus": "APPROVED",
      "payerVlanId": 202,
      "promoCode": {},
      "provisionDate": 1605134494466,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": {},
      "setup": {},
      "speed": 550,
      "usageAlgorithm": "POST_PAID_HOURLY_SPEED_LONG_HAUL_VXC",
      "vxcJTechnicalServiceId": 70752,
      "vxcJTechnicalServiceUid": "54f78a4a-dbf0-404c-8bb0-68a967870f65",
      "vxcOrderId": 52639,
      "webAirProvItem": {}
    }
  ],
  "message": "VXC [54f78a4a-dbf0-404c-8bb0-68a967870f65] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Create VXC to Oracle (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "associatedVxcs": [
            {
                "aEnd": { "vlan": 202 },
                "bEnd": {
                    "partnerConfig": {
                        "connectType": "ORACLE",
                        "virtualCircuitId": "ocid1.virtualcircuit.oc1.phx.aaaaaaaapsokflwszxk3c2vhsyj5pkas3gmh3zngyxx7zj6yxj2stgeofk5q"
                    },
                    "productUid": "46c71b6d-115e-4de4-8894-4f40d0fdbc98",
                    "vlan": 300
                },
                "productName": "My Oracle VXC",
                "rateLimit": 550
            }
        ],
        "productUid": "a0f36688-48a7-4208-a58b-d965cb423694"
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Create VXC to Oracle (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"associatedVxcs":[{"aEnd":{"vlan":202},"bEnd":{"partnerConfig":{"connectType":"ORACLE","virtualCircuitId":"ocid1.virtualcircuit.oc1.phx.aaaaaaaapsokflwszxk3c2vhsyj5pkas3gmh3zngyxx7zj6yxj2stgeofk5q"},"productUid":"46c71b6d-115e-4de4-8894-4f40d0fdbc98","vlan":300},"productName":"My Oracle VXC","rateLimit":550}],"productUid":"a0f36688-48a7-4208-a58b-d965cb423694"}]'
};

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

```go Create VXC to Oracle (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 202\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"connectType\": \"ORACLE\",\n            \"virtualCircuitId\": \"ocid1.virtualcircuit.oc1.phx.aaaaaaaapsokflwszxk3c2vhsyj5pkas3gmh3zngyxx7zj6yxj2stgeofk5q\"\n          },\n          \"productUid\": \"46c71b6d-115e-4de4-8894-4f40d0fdbc98\",\n          \"vlan\": 300\n        },\n        \"productName\": \"My Oracle VXC\",\n        \"rateLimit\": 550\n      }\n    ],\n    \"productUid\": \"a0f36688-48a7-4208-a58b-d965cb423694\"\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Create VXC to Oracle (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 202\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"connectType\": \"ORACLE\",\n            \"virtualCircuitId\": \"ocid1.virtualcircuit.oc1.phx.aaaaaaaapsokflwszxk3c2vhsyj5pkas3gmh3zngyxx7zj6yxj2stgeofk5q\"\n          },\n          \"productUid\": \"46c71b6d-115e-4de4-8894-4f40d0fdbc98\",\n          \"vlan\": 300\n        },\n        \"productName\": \"My Oracle VXC\",\n        \"rateLimit\": 550\n      }\n    ],\n    \"productUid\": \"a0f36688-48a7-4208-a58b-d965cb423694\"\n  }\n]"

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

```java Create VXC to Oracle (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 202\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"connectType\": \"ORACLE\",\n            \"virtualCircuitId\": \"ocid1.virtualcircuit.oc1.phx.aaaaaaaapsokflwszxk3c2vhsyj5pkas3gmh3zngyxx7zj6yxj2stgeofk5q\"\n          },\n          \"productUid\": \"46c71b6d-115e-4de4-8894-4f40d0fdbc98\",\n          \"vlan\": 300\n        },\n        \"productName\": \"My Oracle VXC\",\n        \"rateLimit\": 550\n      }\n    ],\n    \"productUid\": \"a0f36688-48a7-4208-a58b-d965cb423694\"\n  }\n]")
  .asString();
```

```php Create VXC to Oracle (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "vlan": 202
        },
        "bEnd": {
          "partnerConfig": {
            "connectType": "ORACLE",
            "virtualCircuitId": "ocid1.virtualcircuit.oc1.phx.aaaaaaaapsokflwszxk3c2vhsyj5pkas3gmh3zngyxx7zj6yxj2stgeofk5q"
          },
          "productUid": "46c71b6d-115e-4de4-8894-4f40d0fdbc98",
          "vlan": 300
        },
        "productName": "My Oracle VXC",
        "rateLimit": 550
      }
    ],
    "productUid": "a0f36688-48a7-4208-a58b-d965cb423694"
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Create VXC to Oracle (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 202\n        },\n        \"bEnd\": {\n          \"partnerConfig\": {\n            \"connectType\": \"ORACLE\",\n            \"virtualCircuitId\": \"ocid1.virtualcircuit.oc1.phx.aaaaaaaapsokflwszxk3c2vhsyj5pkas3gmh3zngyxx7zj6yxj2stgeofk5q\"\n          },\n          \"productUid\": \"46c71b6d-115e-4de4-8894-4f40d0fdbc98\",\n          \"vlan\": 300\n        },\n        \"productName\": \"My Oracle VXC\",\n        \"rateLimit\": 550\n      }\n    ],\n    \"productUid\": \"a0f36688-48a7-4208-a58b-d965cb423694\"\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Create VXC to Oracle (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "associatedVxcs": [
      [
        "aEnd": ["vlan": 202],
        "bEnd": [
          "partnerConfig": [
            "connectType": "ORACLE",
            "virtualCircuitId": "ocid1.virtualcircuit.oc1.phx.aaaaaaaapsokflwszxk3c2vhsyj5pkas3gmh3zngyxx7zj6yxj2stgeofk5q"
          ],
          "productUid": "46c71b6d-115e-4de4-8894-4f40d0fdbc98",
          "vlan": 300
        ],
        "productName": "My Oracle VXC",
        "rateLimit": 550
      ]
    ],
    "productUid": "a0f36688-48a7-4208-a58b-d965cb423694"
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Create VXC to SAP (v3)

**Request**

```json
[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "vlan": 2
        },
        "bEnd": {
          "productUid": "9b5f94e9-1c3f-4398-804d-ab4939e53f37"
        },
        "productName": "Service key SAP VXC",
        "rateLimit": 100,
        "serviceKey": "d2d7fd14-377e-4281-ad22-6b0dfdbae9e5"
      }
    ],
    "productUid": "7fba50bb-ac35-465b-9b8b-9a6d7335ec7a"
  }
]
```

**Response**

```json
{
  "data": [
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1610140443499,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "salesId": null,
      "serviceName": "from My LA API Port to SAP Cloud Peering for HEC - vXchnge Santa Clara (2/2)",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "DEFAULT",
      "discountMonths": {},
      "distanceBand": "ZONE",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": true,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": 1610140443308,
      "nonPayerApproverId": {},
      "nonPayerApproverName": {},
      "nonPayerCompanyName": "SAP SE",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 354,
      "nonPayerMegaPortId": 39950,
      "nonPayerMegaPortName": "SAP Cloud Peering for HEC - vXchnge Santa Clara (2/2)",
      "nonPayerMegaPortNsId": 90147,
      "nonPayerStatus": "APPROVED",
      "nonPayerVlanId": 373,
      "oracleVirtualCircuitId": {},
      "orderType": "NEW",
      "payerApproval": 1610140443263,
      "payerApproverId": 32278,
      "payerApproverName": "Eric Akin",
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": {},
      "payerLocationId": 60,
      "payerMegaPortId": 74841,
      "payerMegaPortName": "My LA API Port",
      "payerMegaPortNsId": 167551,
      "payerStatus": "APPROVED",
      "payerVlanId": 2,
      "promoCode": {},
      "provisionDate": 1610140443232,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": "d2d7fd14-377e-4281-ad22-6b0dfdbae9e5",
      "setup": {},
      "speed": 100,
      "usageAlgorithm": "POST_PAID_HOURLY_SPEED_LONG_HAUL_VXC",
      "vxcJTechnicalServiceId": 74842,
      "vxcJTechnicalServiceUid": "399f0fd8-8a69-4e15-abdb-537b0cb8a858",
      "vxcOrderId": 55791,
      "webAirProvItem": {}
    }
  ],
  "message": "VXC [399f0fd8-8a69-4e15-abdb-537b0cb8a858] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Create VXC to SAP (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "associatedVxcs": [
            {
                "aEnd": { "vlan": 2 },
                "bEnd": { "productUid": "9b5f94e9-1c3f-4398-804d-ab4939e53f37" },
                "productName": "Service key SAP VXC",
                "rateLimit": 100,
                "serviceKey": "d2d7fd14-377e-4281-ad22-6b0dfdbae9e5"
            }
        ],
        "productUid": "7fba50bb-ac35-465b-9b8b-9a6d7335ec7a"
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Create VXC to SAP (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"associatedVxcs":[{"aEnd":{"vlan":2},"bEnd":{"productUid":"9b5f94e9-1c3f-4398-804d-ab4939e53f37"},"productName":"Service key SAP VXC","rateLimit":100,"serviceKey":"d2d7fd14-377e-4281-ad22-6b0dfdbae9e5"}],"productUid":"7fba50bb-ac35-465b-9b8b-9a6d7335ec7a"}]'
};

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

```go Create VXC to SAP (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 2\n        },\n        \"bEnd\": {\n          \"productUid\": \"9b5f94e9-1c3f-4398-804d-ab4939e53f37\"\n        },\n        \"productName\": \"Service key SAP VXC\",\n        \"rateLimit\": 100,\n        \"serviceKey\": \"d2d7fd14-377e-4281-ad22-6b0dfdbae9e5\"\n      }\n    ],\n    \"productUid\": \"7fba50bb-ac35-465b-9b8b-9a6d7335ec7a\"\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Create VXC to SAP (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 2\n        },\n        \"bEnd\": {\n          \"productUid\": \"9b5f94e9-1c3f-4398-804d-ab4939e53f37\"\n        },\n        \"productName\": \"Service key SAP VXC\",\n        \"rateLimit\": 100,\n        \"serviceKey\": \"d2d7fd14-377e-4281-ad22-6b0dfdbae9e5\"\n      }\n    ],\n    \"productUid\": \"7fba50bb-ac35-465b-9b8b-9a6d7335ec7a\"\n  }\n]"

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

```java Create VXC to SAP (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 2\n        },\n        \"bEnd\": {\n          \"productUid\": \"9b5f94e9-1c3f-4398-804d-ab4939e53f37\"\n        },\n        \"productName\": \"Service key SAP VXC\",\n        \"rateLimit\": 100,\n        \"serviceKey\": \"d2d7fd14-377e-4281-ad22-6b0dfdbae9e5\"\n      }\n    ],\n    \"productUid\": \"7fba50bb-ac35-465b-9b8b-9a6d7335ec7a\"\n  }\n]")
  .asString();
```

```php Create VXC to SAP (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "vlan": 2
        },
        "bEnd": {
          "productUid": "9b5f94e9-1c3f-4398-804d-ab4939e53f37"
        },
        "productName": "Service key SAP VXC",
        "rateLimit": 100,
        "serviceKey": "d2d7fd14-377e-4281-ad22-6b0dfdbae9e5"
      }
    ],
    "productUid": "7fba50bb-ac35-465b-9b8b-9a6d7335ec7a"
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Create VXC to SAP (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 2\n        },\n        \"bEnd\": {\n          \"productUid\": \"9b5f94e9-1c3f-4398-804d-ab4939e53f37\"\n        },\n        \"productName\": \"Service key SAP VXC\",\n        \"rateLimit\": 100,\n        \"serviceKey\": \"d2d7fd14-377e-4281-ad22-6b0dfdbae9e5\"\n      }\n    ],\n    \"productUid\": \"7fba50bb-ac35-465b-9b8b-9a6d7335ec7a\"\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Create VXC to SAP (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "associatedVxcs": [
      [
        "aEnd": ["vlan": 2],
        "bEnd": ["productUid": "9b5f94e9-1c3f-4398-804d-ab4939e53f37"],
        "productName": "Service key SAP VXC",
        "rateLimit": 100,
        "serviceKey": "d2d7fd14-377e-4281-ad22-6b0dfdbae9e5"
      ]
    ],
    "productUid": "7fba50bb-ac35-465b-9b8b-9a6d7335ec7a"
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Create VXC to Salesforce (v3)

**Request**

```json
[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "vlan": 0
        },
        "bEnd": {
          "productUid": "e23f3dcb-be29-43ac-9cb9-3fc897c3309f"
        },
        "partnerConfigs": {
          "asn": 65333,
          "connectType": "SFDC"
        },
        "productName": "My Salesforce VXC",
        "rateLimit": "100"
      }
    ],
    "productUid": "7fba50bb-ac35-465b-9b8b-9a6d7335ec7a"
  }
]
```

**Response**

```json
{
  "data": [
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1610147883716,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "salesId": null,
      "serviceName": "from My LA API Port to Express Connect Bay Area #1",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "SFDC",
      "discountMonths": {},
      "distanceBand": "ZONE",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": false,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": {},
      "nonPayerApproverId": {},
      "nonPayerApproverName": {},
      "nonPayerCompanyName": "Salesforce.com Inc",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 66,
      "nonPayerMegaPortId": 47162,
      "nonPayerMegaPortName": "Express Connect Bay Area #1",
      "nonPayerMegaPortNsId": 105978,
      "nonPayerStatus": "UN_ASSESSED",
      "nonPayerVlanId": 0,
      "oracleVirtualCircuitId": {},
      "orderType": "NEW",
      "payerApproval": 1610147883523,
      "payerApproverId": 32278,
      "payerApproverName": "Eric Akin",
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": {},
      "payerLocationId": 60,
      "payerMegaPortId": 74841,
      "payerMegaPortName": "My LA API Port",
      "payerMegaPortNsId": 167551,
      "payerStatus": "APPROVED",
      "payerVlanId": 0,
      "promoCode": {},
      "provisionDate": 1610147883496,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": {},
      "setup": {},
      "speed": 100,
      "usageAlgorithm": "POST_PAID_HOURLY_SPEED_LONG_HAUL_VXC",
      "vxcJTechnicalServiceId": 74843,
      "vxcJTechnicalServiceUid": "2a73a752-0056-4894-835c-335bde422063",
      "vxcOrderId": 55792,
      "webAirProvItem": {}
    }
  ],
  "message": "VXC [2a73a752-0056-4894-835c-335bde422063] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Create VXC to Salesforce (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "associatedVxcs": [
            {
                "aEnd": { "vlan": 0 },
                "bEnd": { "productUid": "e23f3dcb-be29-43ac-9cb9-3fc897c3309f" },
                "partnerConfigs": {
                    "asn": 65333,
                    "connectType": "SFDC"
                },
                "productName": "My Salesforce VXC",
                "rateLimit": "100"
            }
        ],
        "productUid": "7fba50bb-ac35-465b-9b8b-9a6d7335ec7a"
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Create VXC to Salesforce (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"associatedVxcs":[{"aEnd":{"vlan":0},"bEnd":{"productUid":"e23f3dcb-be29-43ac-9cb9-3fc897c3309f"},"partnerConfigs":{"asn":65333,"connectType":"SFDC"},"productName":"My Salesforce VXC","rateLimit":"100"}],"productUid":"7fba50bb-ac35-465b-9b8b-9a6d7335ec7a"}]'
};

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

```go Create VXC to Salesforce (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 0\n        },\n        \"bEnd\": {\n          \"productUid\": \"e23f3dcb-be29-43ac-9cb9-3fc897c3309f\"\n        },\n        \"partnerConfigs\": {\n          \"asn\": 65333,\n          \"connectType\": \"SFDC\"\n        },\n        \"productName\": \"My Salesforce VXC\",\n        \"rateLimit\": \"100\"\n      }\n    ],\n    \"productUid\": \"7fba50bb-ac35-465b-9b8b-9a6d7335ec7a\"\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Create VXC to Salesforce (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 0\n        },\n        \"bEnd\": {\n          \"productUid\": \"e23f3dcb-be29-43ac-9cb9-3fc897c3309f\"\n        },\n        \"partnerConfigs\": {\n          \"asn\": 65333,\n          \"connectType\": \"SFDC\"\n        },\n        \"productName\": \"My Salesforce VXC\",\n        \"rateLimit\": \"100\"\n      }\n    ],\n    \"productUid\": \"7fba50bb-ac35-465b-9b8b-9a6d7335ec7a\"\n  }\n]"

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

```java Create VXC to Salesforce (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 0\n        },\n        \"bEnd\": {\n          \"productUid\": \"e23f3dcb-be29-43ac-9cb9-3fc897c3309f\"\n        },\n        \"partnerConfigs\": {\n          \"asn\": 65333,\n          \"connectType\": \"SFDC\"\n        },\n        \"productName\": \"My Salesforce VXC\",\n        \"rateLimit\": \"100\"\n      }\n    ],\n    \"productUid\": \"7fba50bb-ac35-465b-9b8b-9a6d7335ec7a\"\n  }\n]")
  .asString();
```

```php Create VXC to Salesforce (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "vlan": 0
        },
        "bEnd": {
          "productUid": "e23f3dcb-be29-43ac-9cb9-3fc897c3309f"
        },
        "partnerConfigs": {
          "asn": 65333,
          "connectType": "SFDC"
        },
        "productName": "My Salesforce VXC",
        "rateLimit": "100"
      }
    ],
    "productUid": "7fba50bb-ac35-465b-9b8b-9a6d7335ec7a"
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Create VXC to Salesforce (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 0\n        },\n        \"bEnd\": {\n          \"productUid\": \"e23f3dcb-be29-43ac-9cb9-3fc897c3309f\"\n        },\n        \"partnerConfigs\": {\n          \"asn\": 65333,\n          \"connectType\": \"SFDC\"\n        },\n        \"productName\": \"My Salesforce VXC\",\n        \"rateLimit\": \"100\"\n      }\n    ],\n    \"productUid\": \"7fba50bb-ac35-465b-9b8b-9a6d7335ec7a\"\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Create VXC to Salesforce (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "associatedVxcs": [
      [
        "aEnd": ["vlan": 0],
        "bEnd": ["productUid": "e23f3dcb-be29-43ac-9cb9-3fc897c3309f"],
        "partnerConfigs": [
          "asn": 65333,
          "connectType": "SFDC"
        ],
        "productName": "My Salesforce VXC",
        "rateLimit": "100"
      ]
    ],
    "productUid": "7fba50bb-ac35-465b-9b8b-9a6d7335ec7a"
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy MVE - Aviatrix Secure Edge (v3)

**Request**

```json
[
  {
    "locationId": 23,
    "productName": "Aviatrix Example 8/32",
    "productType": "MVE",
    "term": 24,
    "config": {
      "diversityZone": "blue"
    },
    "promoCode": "promox3mnthfree2",
    "vendorConfig": {
      "cloudInit": "c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBQkl3QUFBUUVBa2xPVXBrREhyZkhZMTdTYnJtVElwTkxUR0s5VGpvbS9CV0RTVQogICAgICAgICAgICBHUGwrbmFmemxIRFRZVzdoZEk0eVo1ZXcxOEpINEpXOWpiaFVGcnZpUXpNN3hsRUxFVmY0aDlsRlg1UVZrYlBwcFN3ZzBjZGEzCiAgICAgICAgICAgIFBidjdrT2RKL01UeUJsV1hGQ1IrSEFvM0ZYUml0QnF4aVgxbktoWHBIQVpzTWNpTHE4VjZSanNOQVF3ZHNkTUZ2U2xWSy83WEEKICAgICAgICAgICAgdDNGYW9Kb0FzbmNNMVE5eDUrM1YwV3c2OC9lSUZtYjF6dVVGbGpRSktwcnJYODhYeXBORHZqWU5ieTZ2dy9QYjByd2VydC9FbgogICAgICAgICAgICBtWitBVzRPWlBuVFBJODlaUG1WTUx1YXlyRDJjRTg2Wi9pbDhiK2d3M3IzKzFuS2F0bUlram4yc28xZDAxUXJhVGxNcVZTc2J4CiAgICAgICAgICAgIE5yUkZpOXdyZitNN1E9PSBzY2hhY29uQG15bGFwdG9wLmxvY2Fs",
      "imageId": 70,
      "mveLabel": "MVE 8/32"
    },
    "vnics": [
      {
        "description": "eth0"
      },
      {
        "description": "eth1"
      },
      {
        "description": "eth2"
      },
      {
        "description": null
      },
      {
        "description": null
      }
    ]
  }
]
```

**Response**

```json
{
  "data": [
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1680242208512,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "salesId": null,
      "serviceName": "from greg T to Asia Pacific (Sydney) (ap-southeast-2) [DZ-BLUE]",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "AWSHC",
      "dealUid": {},
      "discountMonths": {},
      "distanceBand": "METRO",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": true,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": 1680242208492,
      "nonPayerApproverId": 50402,
      "nonPayerApproverName": "Greg Brown",
      "nonPayerCompanyName": "AWS",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 6,
      "nonPayerMegaPortId": 132573,
      "nonPayerMegaPortName": "Asia Pacific (Sydney) (ap-southeast-2) [DZ-BLUE]",
      "nonPayerMegaPortNsId": 326800,
      "nonPayerStatus": "APPROVED",
      "nonPayerVlanId": 0,
      "oracleVirtualCircuitId": {},
      "orderType": "NEW",
      "originDomain": {},
      "payerApproval": 1680242208455,
      "payerApproverId": 50402,
      "payerApproverName": "Greg Brown",
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": 0,
      "payerLocationId": 2,
      "payerMegaPortId": 155354,
      "payerMegaPortName": "greg T",
      "payerMegaPortNsId": 397416,
      "payerStatus": "APPROVED",
      "payerVlanId": 0,
      "promoCode": {},
      "provisionDate": 1680242208440,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": {},
      "serviceLicense": {},
      "setup": {},
      "speed": 100,
      "usageAlgorithm": "POST_PAID_HOURLY_SPEED_METRO_VXC",
      "vxc": {
        "aLocation": null,
        "aLocationId": null,
        "accountManager": null,
        "adminContactId": null,
        "adminContactName": null,
        "adminLocked": false,
        "attributeTags": {},
        "attributes": [],
        "bLocation": null,
        "bLocationId": null,
        "bgpShutdownDefault": false,
        "billableId": 147636,
        "billableUsageAlgorithm": null,
        "billingContactId": null,
        "billingContactName": null,
        "buyoutPort": null,
        "companyId": 1153,
        "companyName": "Megaport Lab",
        "components": [],
        "configuredDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1680242208482,
        "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
        "currentEstimatedDelivery": null,
        "errorMessage": null,
        "failedReason": null,
        "inAdvanceBillingStatus": null,
        "intercapPath": "",
        "locked": false,
        "market": "Australia",
        "marketplaceVisibility": true,
        "maximumSpeed": null,
        "minimumSpeed": null,
        "name": "awshc",
        "nonPayerCompanyId": null,
        "originDomain": null,
        "payerCompanyId": null,
        "productType": "VXC",
        "promptUid": null,
        "provisioningItems": [],
        "provisioningStatus": "DEPLOYABLE",
        "rateLimit": 100,
        "rateType": "MONTHLY",
        "requestedDate": 1680242208440,
        "salesId": null,
        "salesName": null,
        "secondaryName": null,
        "serviceName": "awshc",
        "tags": [],
        "technicalContactId": null,
        "technicalContactName": null,
        "technicalServiceId": 155731,
        "technicalServiceUid": "5a4d1803-3796-4144-ac35-c582d2f60b6f",
        "terminationDate": null,
        "trialAgreement": false,
        "virtual": false,
        "vxcAutoApproval": false,
        "vxcDistanceBand": "METRO",
        "vxcPermitted": true
      },
      "vxcJTechnicalServiceId": 155731,
      "vxcJTechnicalServiceUid": "5a4d1803-3796-4144-ac35-c582d2f60b6f",
      "vxcOrderId": 114013,
      "webAirProvItem": {}
    }
  ],
  "message": "VXC [5a4d1803-3796-4144-ac35-c582d2f60b6f] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - Aviatrix Secure Edge (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "locationId": 23,
        "productName": "Aviatrix Example 8/32",
        "productType": "MVE",
        "term": 24,
        "config": { "diversityZone": "blue" },
        "promoCode": "promox3mnthfree2",
        "vendorConfig": {
            "cloudInit": "c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBQkl3QUFBUUVBa2xPVXBrREhyZkhZMTdTYnJtVElwTkxUR0s5VGpvbS9CV0RTVQogICAgICAgICAgICBHUGwrbmFmemxIRFRZVzdoZEk0eVo1ZXcxOEpINEpXOWpiaFVGcnZpUXpNN3hsRUxFVmY0aDlsRlg1UVZrYlBwcFN3ZzBjZGEzCiAgICAgICAgICAgIFBidjdrT2RKL01UeUJsV1hGQ1IrSEFvM0ZYUml0QnF4aVgxbktoWHBIQVpzTWNpTHE4VjZSanNOQVF3ZHNkTUZ2U2xWSy83WEEKICAgICAgICAgICAgdDNGYW9Kb0FzbmNNMVE5eDUrM1YwV3c2OC9lSUZtYjF6dVVGbGpRSktwcnJYODhYeXBORHZqWU5ieTZ2dy9QYjByd2VydC9FbgogICAgICAgICAgICBtWitBVzRPWlBuVFBJODlaUG1WTUx1YXlyRDJjRTg2Wi9pbDhiK2d3M3IzKzFuS2F0bUlram4yc28xZDAxUXJhVGxNcVZTc2J4CiAgICAgICAgICAgIE5yUkZpOXdyZitNN1E9PSBzY2hhY29uQG15bGFwdG9wLmxvY2Fs",
            "imageId": 70,
            "mveLabel": "MVE 8/32"
        },
        "vnics": [{ "description": "eth0" }, { "description": "eth1" }, { "description": "eth2" }, { "description": None }, { "description": None }]
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy MVE - Aviatrix Secure Edge (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"locationId":23,"productName":"Aviatrix Example 8/32","productType":"MVE","term":24,"config":{"diversityZone":"blue"},"promoCode":"promox3mnthfree2","vendorConfig":{"cloudInit":"c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBQkl3QUFBUUVBa2xPVXBrREhyZkhZMTdTYnJtVElwTkxUR0s5VGpvbS9CV0RTVQogICAgICAgICAgICBHUGwrbmFmemxIRFRZVzdoZEk0eVo1ZXcxOEpINEpXOWpiaFVGcnZpUXpNN3hsRUxFVmY0aDlsRlg1UVZrYlBwcFN3ZzBjZGEzCiAgICAgICAgICAgIFBidjdrT2RKL01UeUJsV1hGQ1IrSEFvM0ZYUml0QnF4aVgxbktoWHBIQVpzTWNpTHE4VjZSanNOQVF3ZHNkTUZ2U2xWSy83WEEKICAgICAgICAgICAgdDNGYW9Kb0FzbmNNMVE5eDUrM1YwV3c2OC9lSUZtYjF6dVVGbGpRSktwcnJYODhYeXBORHZqWU5ieTZ2dy9QYjByd2VydC9FbgogICAgICAgICAgICBtWitBVzRPWlBuVFBJODlaUG1WTUx1YXlyRDJjRTg2Wi9pbDhiK2d3M3IzKzFuS2F0bUlram4yc28xZDAxUXJhVGxNcVZTc2J4CiAgICAgICAgICAgIE5yUkZpOXdyZitNN1E9PSBzY2hhY29uQG15bGFwdG9wLmxvY2Fs","imageId":70,"mveLabel":"MVE 8/32"},"vnics":[{"description":"eth0"},{"description":"eth1"},{"description":"eth2"},{"description":null},{"description":null}]}]'
};

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

```go Buy MVE - Aviatrix Secure Edge (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"locationId\": 23,\n    \"productName\": \"Aviatrix Example 8/32\",\n    \"productType\": \"MVE\",\n    \"term\": 24,\n    \"config\": {\n      \"diversityZone\": \"blue\"\n    },\n    \"promoCode\": \"promox3mnthfree2\",\n    \"vendorConfig\": {\n      \"cloudInit\": \"c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBQkl3QUFBUUVBa2xPVXBrREhyZkhZMTdTYnJtVElwTkxUR0s5VGpvbS9CV0RTVQogICAgICAgICAgICBHUGwrbmFmemxIRFRZVzdoZEk0eVo1ZXcxOEpINEpXOWpiaFVGcnZpUXpNN3hsRUxFVmY0aDlsRlg1UVZrYlBwcFN3ZzBjZGEzCiAgICAgICAgICAgIFBidjdrT2RKL01UeUJsV1hGQ1IrSEFvM0ZYUml0QnF4aVgxbktoWHBIQVpzTWNpTHE4VjZSanNOQVF3ZHNkTUZ2U2xWSy83WEEKICAgICAgICAgICAgdDNGYW9Kb0FzbmNNMVE5eDUrM1YwV3c2OC9lSUZtYjF6dVVGbGpRSktwcnJYODhYeXBORHZqWU5ieTZ2dy9QYjByd2VydC9FbgogICAgICAgICAgICBtWitBVzRPWlBuVFBJODlaUG1WTUx1YXlyRDJjRTg2Wi9pbDhiK2d3M3IzKzFuS2F0bUlram4yc28xZDAxUXJhVGxNcVZTc2J4CiAgICAgICAgICAgIE5yUkZpOXdyZitNN1E9PSBzY2hhY29uQG15bGFwdG9wLmxvY2Fs\",\n      \"imageId\": 70,\n      \"mveLabel\": \"MVE 8/32\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"eth0\"\n      },\n      {\n        \"description\": \"eth1\"\n      },\n      {\n        \"description\": \"eth2\"\n      },\n      {\n        \"description\": null\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy MVE - Aviatrix Secure Edge (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"locationId\": 23,\n    \"productName\": \"Aviatrix Example 8/32\",\n    \"productType\": \"MVE\",\n    \"term\": 24,\n    \"config\": {\n      \"diversityZone\": \"blue\"\n    },\n    \"promoCode\": \"promox3mnthfree2\",\n    \"vendorConfig\": {\n      \"cloudInit\": \"c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBQkl3QUFBUUVBa2xPVXBrREhyZkhZMTdTYnJtVElwTkxUR0s5VGpvbS9CV0RTVQogICAgICAgICAgICBHUGwrbmFmemxIRFRZVzdoZEk0eVo1ZXcxOEpINEpXOWpiaFVGcnZpUXpNN3hsRUxFVmY0aDlsRlg1UVZrYlBwcFN3ZzBjZGEzCiAgICAgICAgICAgIFBidjdrT2RKL01UeUJsV1hGQ1IrSEFvM0ZYUml0QnF4aVgxbktoWHBIQVpzTWNpTHE4VjZSanNOQVF3ZHNkTUZ2U2xWSy83WEEKICAgICAgICAgICAgdDNGYW9Kb0FzbmNNMVE5eDUrM1YwV3c2OC9lSUZtYjF6dVVGbGpRSktwcnJYODhYeXBORHZqWU5ieTZ2dy9QYjByd2VydC9FbgogICAgICAgICAgICBtWitBVzRPWlBuVFBJODlaUG1WTUx1YXlyRDJjRTg2Wi9pbDhiK2d3M3IzKzFuS2F0bUlram4yc28xZDAxUXJhVGxNcVZTc2J4CiAgICAgICAgICAgIE5yUkZpOXdyZitNN1E9PSBzY2hhY29uQG15bGFwdG9wLmxvY2Fs\",\n      \"imageId\": 70,\n      \"mveLabel\": \"MVE 8/32\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"eth0\"\n      },\n      {\n        \"description\": \"eth1\"\n      },\n      {\n        \"description\": \"eth2\"\n      },\n      {\n        \"description\": null\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]"

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

```java Buy MVE - Aviatrix Secure Edge (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"locationId\": 23,\n    \"productName\": \"Aviatrix Example 8/32\",\n    \"productType\": \"MVE\",\n    \"term\": 24,\n    \"config\": {\n      \"diversityZone\": \"blue\"\n    },\n    \"promoCode\": \"promox3mnthfree2\",\n    \"vendorConfig\": {\n      \"cloudInit\": \"c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBQkl3QUFBUUVBa2xPVXBrREhyZkhZMTdTYnJtVElwTkxUR0s5VGpvbS9CV0RTVQogICAgICAgICAgICBHUGwrbmFmemxIRFRZVzdoZEk0eVo1ZXcxOEpINEpXOWpiaFVGcnZpUXpNN3hsRUxFVmY0aDlsRlg1UVZrYlBwcFN3ZzBjZGEzCiAgICAgICAgICAgIFBidjdrT2RKL01UeUJsV1hGQ1IrSEFvM0ZYUml0QnF4aVgxbktoWHBIQVpzTWNpTHE4VjZSanNOQVF3ZHNkTUZ2U2xWSy83WEEKICAgICAgICAgICAgdDNGYW9Kb0FzbmNNMVE5eDUrM1YwV3c2OC9lSUZtYjF6dVVGbGpRSktwcnJYODhYeXBORHZqWU5ieTZ2dy9QYjByd2VydC9FbgogICAgICAgICAgICBtWitBVzRPWlBuVFBJODlaUG1WTUx1YXlyRDJjRTg2Wi9pbDhiK2d3M3IzKzFuS2F0bUlram4yc28xZDAxUXJhVGxNcVZTc2J4CiAgICAgICAgICAgIE5yUkZpOXdyZitNN1E9PSBzY2hhY29uQG15bGFwdG9wLmxvY2Fs\",\n      \"imageId\": 70,\n      \"mveLabel\": \"MVE 8/32\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"eth0\"\n      },\n      {\n        \"description\": \"eth1\"\n      },\n      {\n        \"description\": \"eth2\"\n      },\n      {\n        \"description\": null\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]")
  .asString();
```

```php Buy MVE - Aviatrix Secure Edge (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "locationId": 23,
    "productName": "Aviatrix Example 8/32",
    "productType": "MVE",
    "term": 24,
    "config": {
      "diversityZone": "blue"
    },
    "promoCode": "promox3mnthfree2",
    "vendorConfig": {
      "cloudInit": "c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBQkl3QUFBUUVBa2xPVXBrREhyZkhZMTdTYnJtVElwTkxUR0s5VGpvbS9CV0RTVQogICAgICAgICAgICBHUGwrbmFmemxIRFRZVzdoZEk0eVo1ZXcxOEpINEpXOWpiaFVGcnZpUXpNN3hsRUxFVmY0aDlsRlg1UVZrYlBwcFN3ZzBjZGEzCiAgICAgICAgICAgIFBidjdrT2RKL01UeUJsV1hGQ1IrSEFvM0ZYUml0QnF4aVgxbktoWHBIQVpzTWNpTHE4VjZSanNOQVF3ZHNkTUZ2U2xWSy83WEEKICAgICAgICAgICAgdDNGYW9Kb0FzbmNNMVE5eDUrM1YwV3c2OC9lSUZtYjF6dVVGbGpRSktwcnJYODhYeXBORHZqWU5ieTZ2dy9QYjByd2VydC9FbgogICAgICAgICAgICBtWitBVzRPWlBuVFBJODlaUG1WTUx1YXlyRDJjRTg2Wi9pbDhiK2d3M3IzKzFuS2F0bUlram4yc28xZDAxUXJhVGxNcVZTc2J4CiAgICAgICAgICAgIE5yUkZpOXdyZitNN1E9PSBzY2hhY29uQG15bGFwdG9wLmxvY2Fs",
      "imageId": 70,
      "mveLabel": "MVE 8/32"
    },
    "vnics": [
      {
        "description": "eth0"
      },
      {
        "description": "eth1"
      },
      {
        "description": "eth2"
      },
      {
        "description": null
      },
      {
        "description": null
      }
    ]
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy MVE - Aviatrix Secure Edge (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"locationId\": 23,\n    \"productName\": \"Aviatrix Example 8/32\",\n    \"productType\": \"MVE\",\n    \"term\": 24,\n    \"config\": {\n      \"diversityZone\": \"blue\"\n    },\n    \"promoCode\": \"promox3mnthfree2\",\n    \"vendorConfig\": {\n      \"cloudInit\": \"c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBQkl3QUFBUUVBa2xPVXBrREhyZkhZMTdTYnJtVElwTkxUR0s5VGpvbS9CV0RTVQogICAgICAgICAgICBHUGwrbmFmemxIRFRZVzdoZEk0eVo1ZXcxOEpINEpXOWpiaFVGcnZpUXpNN3hsRUxFVmY0aDlsRlg1UVZrYlBwcFN3ZzBjZGEzCiAgICAgICAgICAgIFBidjdrT2RKL01UeUJsV1hGQ1IrSEFvM0ZYUml0QnF4aVgxbktoWHBIQVpzTWNpTHE4VjZSanNOQVF3ZHNkTUZ2U2xWSy83WEEKICAgICAgICAgICAgdDNGYW9Kb0FzbmNNMVE5eDUrM1YwV3c2OC9lSUZtYjF6dVVGbGpRSktwcnJYODhYeXBORHZqWU5ieTZ2dy9QYjByd2VydC9FbgogICAgICAgICAgICBtWitBVzRPWlBuVFBJODlaUG1WTUx1YXlyRDJjRTg2Wi9pbDhiK2d3M3IzKzFuS2F0bUlram4yc28xZDAxUXJhVGxNcVZTc2J4CiAgICAgICAgICAgIE5yUkZpOXdyZitNN1E9PSBzY2hhY29uQG15bGFwdG9wLmxvY2Fs\",\n      \"imageId\": 70,\n      \"mveLabel\": \"MVE 8/32\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"eth0\"\n      },\n      {\n        \"description\": \"eth1\"\n      },\n      {\n        \"description\": \"eth2\"\n      },\n      {\n        \"description\": null\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - Aviatrix Secure Edge (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "locationId": 23,
    "productName": "Aviatrix Example 8/32",
    "productType": "MVE",
    "term": 24,
    "config": ["diversityZone": "blue"],
    "promoCode": "promox3mnthfree2",
    "vendorConfig": [
      "cloudInit": "c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBQkl3QUFBUUVBa2xPVXBrREhyZkhZMTdTYnJtVElwTkxUR0s5VGpvbS9CV0RTVQogICAgICAgICAgICBHUGwrbmFmemxIRFRZVzdoZEk0eVo1ZXcxOEpINEpXOWpiaFVGcnZpUXpNN3hsRUxFVmY0aDlsRlg1UVZrYlBwcFN3ZzBjZGEzCiAgICAgICAgICAgIFBidjdrT2RKL01UeUJsV1hGQ1IrSEFvM0ZYUml0QnF4aVgxbktoWHBIQVpzTWNpTHE4VjZSanNOQVF3ZHNkTUZ2U2xWSy83WEEKICAgICAgICAgICAgdDNGYW9Kb0FzbmNNMVE5eDUrM1YwV3c2OC9lSUZtYjF6dVVGbGpRSktwcnJYODhYeXBORHZqWU5ieTZ2dy9QYjByd2VydC9FbgogICAgICAgICAgICBtWitBVzRPWlBuVFBJODlaUG1WTUx1YXlyRDJjRTg2Wi9pbDhiK2d3M3IzKzFuS2F0bUlram4yc28xZDAxUXJhVGxNcVZTc2J4CiAgICAgICAgICAgIE5yUkZpOXdyZitNN1E9PSBzY2hhY29uQG15bGFwdG9wLmxvY2Fs",
      "imageId": 70,
      "mveLabel": "MVE 8/32"
    ],
    "vnics": [["description": "eth0"], ["description": "eth1"], ["description": "eth2"], ["description": ], ["description": ]]
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy MVE - Cisco SD-WAN (v3)

**Request**

```json
[
  {
    "locationId": 87,
    "productName": "Test Cisco Mve",
    "productType": "MVE",
    "term": 12,
    "config": {
      "diversityZone": "red"
    },
    "promoCode": "promox3mnthfree2",
    "vendorConfig": {
      "cloudInit": "U2FtZGVjeWR1amVzektvbXV3aWVyenlzeklnZHljenVqZXN6LMW8ZWNvxZtjaXN0eWthxbpsZcW7ZWNvxZtzacSZcGllcmR6aWVsaVdrYcW8ZGVqY2h3aWxpTW/FvGVzenpyb2JpxIdjb8WbTW/FvGVzend5xYLEhWN6ecSHcmFkaW9OaWVzxYJ1Y2hhxId0eWNoc2t1cndpZWxpCg==",
      "imageId": 22,
      "mveLabel": "MVE 2/8"
    },
    "vnics": [
      {
        "description": "Plano de Datos 1"
      },
      {
        "description": null
      },
      {
        "description": "Plano de Datos 3"
      },
      {
        "description": "Plano de Datos 4"
      },
      {
        "description": null
      }
    ]
  }
]
```

**Response**

```json
{
  "data": [
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1680242208512,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "salesId": null,
      "serviceName": "from greg T to Asia Pacific (Sydney) (ap-southeast-2) [DZ-BLUE]",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "AWSHC",
      "dealUid": {},
      "discountMonths": {},
      "distanceBand": "METRO",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": true,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": 1680242208492,
      "nonPayerApproverId": 50402,
      "nonPayerApproverName": "Greg Brown",
      "nonPayerCompanyName": "AWS",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 6,
      "nonPayerMegaPortId": 132573,
      "nonPayerMegaPortName": "Asia Pacific (Sydney) (ap-southeast-2) [DZ-BLUE]",
      "nonPayerMegaPortNsId": 326800,
      "nonPayerStatus": "APPROVED",
      "nonPayerVlanId": 0,
      "oracleVirtualCircuitId": {},
      "orderType": "NEW",
      "originDomain": {},
      "payerApproval": 1680242208455,
      "payerApproverId": 50402,
      "payerApproverName": "Greg Brown",
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": 0,
      "payerLocationId": 2,
      "payerMegaPortId": 155354,
      "payerMegaPortName": "greg T",
      "payerMegaPortNsId": 397416,
      "payerStatus": "APPROVED",
      "payerVlanId": 0,
      "promoCode": {},
      "provisionDate": 1680242208440,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": {},
      "serviceLicense": {},
      "setup": {},
      "speed": 100,
      "usageAlgorithm": "POST_PAID_HOURLY_SPEED_METRO_VXC",
      "vxc": {
        "aLocation": null,
        "aLocationId": null,
        "accountManager": null,
        "adminContactId": null,
        "adminContactName": null,
        "adminLocked": false,
        "attributeTags": {},
        "attributes": [],
        "bLocation": null,
        "bLocationId": null,
        "bgpShutdownDefault": false,
        "billableId": 147636,
        "billableUsageAlgorithm": null,
        "billingContactId": null,
        "billingContactName": null,
        "buyoutPort": null,
        "companyId": 1153,
        "companyName": "Megaport Lab",
        "components": [],
        "configuredDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1680242208482,
        "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
        "currentEstimatedDelivery": null,
        "errorMessage": null,
        "failedReason": null,
        "inAdvanceBillingStatus": null,
        "intercapPath": "",
        "locked": false,
        "market": "Australia",
        "marketplaceVisibility": true,
        "maximumSpeed": null,
        "minimumSpeed": null,
        "name": "awshc",
        "nonPayerCompanyId": null,
        "originDomain": null,
        "payerCompanyId": null,
        "productType": "VXC",
        "promptUid": null,
        "provisioningItems": [],
        "provisioningStatus": "DEPLOYABLE",
        "rateLimit": 100,
        "rateType": "MONTHLY",
        "requestedDate": 1680242208440,
        "salesId": null,
        "salesName": null,
        "secondaryName": null,
        "serviceName": "awshc",
        "tags": [],
        "technicalContactId": null,
        "technicalContactName": null,
        "technicalServiceId": 155731,
        "technicalServiceUid": "5a4d1803-3796-4144-ac35-c582d2f60b6f",
        "terminationDate": null,
        "trialAgreement": false,
        "virtual": false,
        "vxcAutoApproval": false,
        "vxcDistanceBand": "METRO",
        "vxcPermitted": true
      },
      "vxcJTechnicalServiceId": 155731,
      "vxcJTechnicalServiceUid": "5a4d1803-3796-4144-ac35-c582d2f60b6f",
      "vxcOrderId": 114013,
      "webAirProvItem": {}
    }
  ],
  "message": "VXC [5a4d1803-3796-4144-ac35-c582d2f60b6f] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - Cisco SD-WAN (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "locationId": 87,
        "productName": "Test Cisco Mve",
        "productType": "MVE",
        "term": 12,
        "config": { "diversityZone": "red" },
        "promoCode": "promox3mnthfree2",
        "vendorConfig": {
            "cloudInit": "U2FtZGVjeWR1amVzektvbXV3aWVyenlzeklnZHljenVqZXN6LMW8ZWNvxZtjaXN0eWthxbpsZcW7ZWNvxZtzacSZcGllcmR6aWVsaVdrYcW8ZGVqY2h3aWxpTW/FvGVzenpyb2JpxIdjb8WbTW/FvGVzend5xYLEhWN6ecSHcmFkaW9OaWVzxYJ1Y2hhxId0eWNoc2t1cndpZWxpCg==",
            "imageId": 22,
            "mveLabel": "MVE 2/8"
        },
        "vnics": [{ "description": "Plano de Datos 1" }, { "description": None }, { "description": "Plano de Datos 3" }, { "description": "Plano de Datos 4" }, { "description": None }]
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy MVE - Cisco SD-WAN (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"locationId":87,"productName":"Test Cisco Mve","productType":"MVE","term":12,"config":{"diversityZone":"red"},"promoCode":"promox3mnthfree2","vendorConfig":{"cloudInit":"U2FtZGVjeWR1amVzektvbXV3aWVyenlzeklnZHljenVqZXN6LMW8ZWNvxZtjaXN0eWthxbpsZcW7ZWNvxZtzacSZcGllcmR6aWVsaVdrYcW8ZGVqY2h3aWxpTW/FvGVzenpyb2JpxIdjb8WbTW/FvGVzend5xYLEhWN6ecSHcmFkaW9OaWVzxYJ1Y2hhxId0eWNoc2t1cndpZWxpCg==","imageId":22,"mveLabel":"MVE 2/8"},"vnics":[{"description":"Plano de Datos 1"},{"description":null},{"description":"Plano de Datos 3"},{"description":"Plano de Datos 4"},{"description":null}]}]'
};

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

```go Buy MVE - Cisco SD-WAN (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"locationId\": 87,\n    \"productName\": \"Test Cisco Mve\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"config\": {\n      \"diversityZone\": \"red\"\n    },\n    \"promoCode\": \"promox3mnthfree2\",\n    \"vendorConfig\": {\n      \"cloudInit\": \"U2FtZGVjeWR1amVzektvbXV3aWVyenlzeklnZHljenVqZXN6LMW8ZWNvxZtjaXN0eWthxbpsZcW7ZWNvxZtzacSZcGllcmR6aWVsaVdrYcW8ZGVqY2h3aWxpTW/FvGVzenpyb2JpxIdjb8WbTW/FvGVzend5xYLEhWN6ecSHcmFkaW9OaWVzxYJ1Y2hhxId0eWNoc2t1cndpZWxpCg==\",\n      \"imageId\": 22,\n      \"mveLabel\": \"MVE 2/8\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Plano de Datos 1\"\n      },\n      {\n        \"description\": null\n      },\n      {\n        \"description\": \"Plano de Datos 3\"\n      },\n      {\n        \"description\": \"Plano de Datos 4\"\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy MVE - Cisco SD-WAN (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"locationId\": 87,\n    \"productName\": \"Test Cisco Mve\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"config\": {\n      \"diversityZone\": \"red\"\n    },\n    \"promoCode\": \"promox3mnthfree2\",\n    \"vendorConfig\": {\n      \"cloudInit\": \"U2FtZGVjeWR1amVzektvbXV3aWVyenlzeklnZHljenVqZXN6LMW8ZWNvxZtjaXN0eWthxbpsZcW7ZWNvxZtzacSZcGllcmR6aWVsaVdrYcW8ZGVqY2h3aWxpTW/FvGVzenpyb2JpxIdjb8WbTW/FvGVzend5xYLEhWN6ecSHcmFkaW9OaWVzxYJ1Y2hhxId0eWNoc2t1cndpZWxpCg==\",\n      \"imageId\": 22,\n      \"mveLabel\": \"MVE 2/8\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Plano de Datos 1\"\n      },\n      {\n        \"description\": null\n      },\n      {\n        \"description\": \"Plano de Datos 3\"\n      },\n      {\n        \"description\": \"Plano de Datos 4\"\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]"

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

```java Buy MVE - Cisco SD-WAN (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"locationId\": 87,\n    \"productName\": \"Test Cisco Mve\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"config\": {\n      \"diversityZone\": \"red\"\n    },\n    \"promoCode\": \"promox3mnthfree2\",\n    \"vendorConfig\": {\n      \"cloudInit\": \"U2FtZGVjeWR1amVzektvbXV3aWVyenlzeklnZHljenVqZXN6LMW8ZWNvxZtjaXN0eWthxbpsZcW7ZWNvxZtzacSZcGllcmR6aWVsaVdrYcW8ZGVqY2h3aWxpTW/FvGVzenpyb2JpxIdjb8WbTW/FvGVzend5xYLEhWN6ecSHcmFkaW9OaWVzxYJ1Y2hhxId0eWNoc2t1cndpZWxpCg==\",\n      \"imageId\": 22,\n      \"mveLabel\": \"MVE 2/8\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Plano de Datos 1\"\n      },\n      {\n        \"description\": null\n      },\n      {\n        \"description\": \"Plano de Datos 3\"\n      },\n      {\n        \"description\": \"Plano de Datos 4\"\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]")
  .asString();
```

```php Buy MVE - Cisco SD-WAN (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "locationId": 87,
    "productName": "Test Cisco Mve",
    "productType": "MVE",
    "term": 12,
    "config": {
      "diversityZone": "red"
    },
    "promoCode": "promox3mnthfree2",
    "vendorConfig": {
      "cloudInit": "U2FtZGVjeWR1amVzektvbXV3aWVyenlzeklnZHljenVqZXN6LMW8ZWNvxZtjaXN0eWthxbpsZcW7ZWNvxZtzacSZcGllcmR6aWVsaVdrYcW8ZGVqY2h3aWxpTW/FvGVzenpyb2JpxIdjb8WbTW/FvGVzend5xYLEhWN6ecSHcmFkaW9OaWVzxYJ1Y2hhxId0eWNoc2t1cndpZWxpCg==",
      "imageId": 22,
      "mveLabel": "MVE 2/8"
    },
    "vnics": [
      {
        "description": "Plano de Datos 1"
      },
      {
        "description": null
      },
      {
        "description": "Plano de Datos 3"
      },
      {
        "description": "Plano de Datos 4"
      },
      {
        "description": null
      }
    ]
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy MVE - Cisco SD-WAN (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"locationId\": 87,\n    \"productName\": \"Test Cisco Mve\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"config\": {\n      \"diversityZone\": \"red\"\n    },\n    \"promoCode\": \"promox3mnthfree2\",\n    \"vendorConfig\": {\n      \"cloudInit\": \"U2FtZGVjeWR1amVzektvbXV3aWVyenlzeklnZHljenVqZXN6LMW8ZWNvxZtjaXN0eWthxbpsZcW7ZWNvxZtzacSZcGllcmR6aWVsaVdrYcW8ZGVqY2h3aWxpTW/FvGVzenpyb2JpxIdjb8WbTW/FvGVzend5xYLEhWN6ecSHcmFkaW9OaWVzxYJ1Y2hhxId0eWNoc2t1cndpZWxpCg==\",\n      \"imageId\": 22,\n      \"mveLabel\": \"MVE 2/8\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Plano de Datos 1\"\n      },\n      {\n        \"description\": null\n      },\n      {\n        \"description\": \"Plano de Datos 3\"\n      },\n      {\n        \"description\": \"Plano de Datos 4\"\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - Cisco SD-WAN (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "locationId": 87,
    "productName": "Test Cisco Mve",
    "productType": "MVE",
    "term": 12,
    "config": ["diversityZone": "red"],
    "promoCode": "promox3mnthfree2",
    "vendorConfig": [
      "cloudInit": "U2FtZGVjeWR1amVzektvbXV3aWVyenlzeklnZHljenVqZXN6LMW8ZWNvxZtjaXN0eWthxbpsZcW7ZWNvxZtzacSZcGllcmR6aWVsaVdrYcW8ZGVqY2h3aWxpTW/FvGVzenpyb2JpxIdjb8WbTW/FvGVzend5xYLEhWN6ecSHcmFkaW9OaWVzxYJ1Y2hhxId0eWNoc2t1cndpZWxpCg==",
      "imageId": 22,
      "mveLabel": "MVE 2/8"
    ],
    "vnics": [["description": "Plano de Datos 1"], ["description": ], ["description": "Plano de Datos 3"], ["description": "Plano de Datos 4"], ["description": ]]
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy MVE - Palo Alto Prisma SD-WAN (v3)

**Request**

```json
[
  {
    "locationId": 23,
    "productName": "Palo Alto Prisma Example 3108v",
    "productType": "MVE",
    "term": 12,
    "config": {
      "diversityZone": "blue"
    },
    "promoCode": "promox3mnthfree2",
    "vendorConfig": {
      "imageId": 90,
      "ionKey": "1234567890-12345678-1234-1234-1234-123456789012",
      "mveLabel": "MVE 8/32",
      "secretKey": "abc123def456abc789def012abc345def678abc9"
    },
    "vnics": [
      {
        "description": "Puerto de controlador"
      },
      {
        "description": "Puerto 1"
      },
      {
        "description": "Puerto 2"
      },
      {
        "description": "Puerto 3"
      },
      {
        "description": null
      }
    ]
  }
]
```

**Response**

```json
{
  "data": [
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1680242208512,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "salesId": null,
      "serviceName": "from greg T to Asia Pacific (Sydney) (ap-southeast-2) [DZ-BLUE]",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "AWSHC",
      "dealUid": {},
      "discountMonths": {},
      "distanceBand": "METRO",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": true,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": 1680242208492,
      "nonPayerApproverId": 50402,
      "nonPayerApproverName": "Greg Brown",
      "nonPayerCompanyName": "AWS",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 6,
      "nonPayerMegaPortId": 132573,
      "nonPayerMegaPortName": "Asia Pacific (Sydney) (ap-southeast-2) [DZ-BLUE]",
      "nonPayerMegaPortNsId": 326800,
      "nonPayerStatus": "APPROVED",
      "nonPayerVlanId": 0,
      "oracleVirtualCircuitId": {},
      "orderType": "NEW",
      "originDomain": {},
      "payerApproval": 1680242208455,
      "payerApproverId": 50402,
      "payerApproverName": "Greg Brown",
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": 0,
      "payerLocationId": 2,
      "payerMegaPortId": 155354,
      "payerMegaPortName": "greg T",
      "payerMegaPortNsId": 397416,
      "payerStatus": "APPROVED",
      "payerVlanId": 0,
      "promoCode": {},
      "provisionDate": 1680242208440,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": {},
      "serviceLicense": {},
      "setup": {},
      "speed": 100,
      "usageAlgorithm": "POST_PAID_HOURLY_SPEED_METRO_VXC",
      "vxc": {
        "aLocation": null,
        "aLocationId": null,
        "accountManager": null,
        "adminContactId": null,
        "adminContactName": null,
        "adminLocked": false,
        "attributeTags": {},
        "attributes": [],
        "bLocation": null,
        "bLocationId": null,
        "bgpShutdownDefault": false,
        "billableId": 147636,
        "billableUsageAlgorithm": null,
        "billingContactId": null,
        "billingContactName": null,
        "buyoutPort": null,
        "companyId": 1153,
        "companyName": "Megaport Lab",
        "components": [],
        "configuredDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1680242208482,
        "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
        "currentEstimatedDelivery": null,
        "errorMessage": null,
        "failedReason": null,
        "inAdvanceBillingStatus": null,
        "intercapPath": "",
        "locked": false,
        "market": "Australia",
        "marketplaceVisibility": true,
        "maximumSpeed": null,
        "minimumSpeed": null,
        "name": "awshc",
        "nonPayerCompanyId": null,
        "originDomain": null,
        "payerCompanyId": null,
        "productType": "VXC",
        "promptUid": null,
        "provisioningItems": [],
        "provisioningStatus": "DEPLOYABLE",
        "rateLimit": 100,
        "rateType": "MONTHLY",
        "requestedDate": 1680242208440,
        "salesId": null,
        "salesName": null,
        "secondaryName": null,
        "serviceName": "awshc",
        "tags": [],
        "technicalContactId": null,
        "technicalContactName": null,
        "technicalServiceId": 155731,
        "technicalServiceUid": "5a4d1803-3796-4144-ac35-c582d2f60b6f",
        "terminationDate": null,
        "trialAgreement": false,
        "virtual": false,
        "vxcAutoApproval": false,
        "vxcDistanceBand": "METRO",
        "vxcPermitted": true
      },
      "vxcJTechnicalServiceId": 155731,
      "vxcJTechnicalServiceUid": "5a4d1803-3796-4144-ac35-c582d2f60b6f",
      "vxcOrderId": 114013,
      "webAirProvItem": {}
    }
  ],
  "message": "VXC [5a4d1803-3796-4144-ac35-c582d2f60b6f] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - Palo Alto Prisma SD-WAN (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "locationId": 23,
        "productName": "Palo Alto Prisma Example 3108v",
        "productType": "MVE",
        "term": 12,
        "config": { "diversityZone": "blue" },
        "promoCode": "promox3mnthfree2",
        "vendorConfig": {
            "imageId": 90,
            "ionKey": "1234567890-12345678-1234-1234-1234-123456789012",
            "mveLabel": "MVE 8/32",
            "secretKey": "abc123def456abc789def012abc345def678abc9"
        },
        "vnics": [{ "description": "Puerto de controlador" }, { "description": "Puerto 1" }, { "description": "Puerto 2" }, { "description": "Puerto 3" }, { "description": None }]
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy MVE - Palo Alto Prisma SD-WAN (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"locationId":23,"productName":"Palo Alto Prisma Example 3108v","productType":"MVE","term":12,"config":{"diversityZone":"blue"},"promoCode":"promox3mnthfree2","vendorConfig":{"imageId":90,"ionKey":"1234567890-12345678-1234-1234-1234-123456789012","mveLabel":"MVE 8/32","secretKey":"abc123def456abc789def012abc345def678abc9"},"vnics":[{"description":"Puerto de controlador"},{"description":"Puerto 1"},{"description":"Puerto 2"},{"description":"Puerto 3"},{"description":null}]}]'
};

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

```go Buy MVE - Palo Alto Prisma SD-WAN (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"locationId\": 23,\n    \"productName\": \"Palo Alto Prisma Example 3108v\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"config\": {\n      \"diversityZone\": \"blue\"\n    },\n    \"promoCode\": \"promox3mnthfree2\",\n    \"vendorConfig\": {\n      \"imageId\": 90,\n      \"ionKey\": \"1234567890-12345678-1234-1234-1234-123456789012\",\n      \"mveLabel\": \"MVE 8/32\",\n      \"secretKey\": \"abc123def456abc789def012abc345def678abc9\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Puerto de controlador\"\n      },\n      {\n        \"description\": \"Puerto 1\"\n      },\n      {\n        \"description\": \"Puerto 2\"\n      },\n      {\n        \"description\": \"Puerto 3\"\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy MVE - Palo Alto Prisma SD-WAN (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"locationId\": 23,\n    \"productName\": \"Palo Alto Prisma Example 3108v\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"config\": {\n      \"diversityZone\": \"blue\"\n    },\n    \"promoCode\": \"promox3mnthfree2\",\n    \"vendorConfig\": {\n      \"imageId\": 90,\n      \"ionKey\": \"1234567890-12345678-1234-1234-1234-123456789012\",\n      \"mveLabel\": \"MVE 8/32\",\n      \"secretKey\": \"abc123def456abc789def012abc345def678abc9\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Puerto de controlador\"\n      },\n      {\n        \"description\": \"Puerto 1\"\n      },\n      {\n        \"description\": \"Puerto 2\"\n      },\n      {\n        \"description\": \"Puerto 3\"\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]"

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

```java Buy MVE - Palo Alto Prisma SD-WAN (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"locationId\": 23,\n    \"productName\": \"Palo Alto Prisma Example 3108v\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"config\": {\n      \"diversityZone\": \"blue\"\n    },\n    \"promoCode\": \"promox3mnthfree2\",\n    \"vendorConfig\": {\n      \"imageId\": 90,\n      \"ionKey\": \"1234567890-12345678-1234-1234-1234-123456789012\",\n      \"mveLabel\": \"MVE 8/32\",\n      \"secretKey\": \"abc123def456abc789def012abc345def678abc9\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Puerto de controlador\"\n      },\n      {\n        \"description\": \"Puerto 1\"\n      },\n      {\n        \"description\": \"Puerto 2\"\n      },\n      {\n        \"description\": \"Puerto 3\"\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]")
  .asString();
```

```php Buy MVE - Palo Alto Prisma SD-WAN (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "locationId": 23,
    "productName": "Palo Alto Prisma Example 3108v",
    "productType": "MVE",
    "term": 12,
    "config": {
      "diversityZone": "blue"
    },
    "promoCode": "promox3mnthfree2",
    "vendorConfig": {
      "imageId": 90,
      "ionKey": "1234567890-12345678-1234-1234-1234-123456789012",
      "mveLabel": "MVE 8/32",
      "secretKey": "abc123def456abc789def012abc345def678abc9"
    },
    "vnics": [
      {
        "description": "Puerto de controlador"
      },
      {
        "description": "Puerto 1"
      },
      {
        "description": "Puerto 2"
      },
      {
        "description": "Puerto 3"
      },
      {
        "description": null
      }
    ]
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy MVE - Palo Alto Prisma SD-WAN (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"locationId\": 23,\n    \"productName\": \"Palo Alto Prisma Example 3108v\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"config\": {\n      \"diversityZone\": \"blue\"\n    },\n    \"promoCode\": \"promox3mnthfree2\",\n    \"vendorConfig\": {\n      \"imageId\": 90,\n      \"ionKey\": \"1234567890-12345678-1234-1234-1234-123456789012\",\n      \"mveLabel\": \"MVE 8/32\",\n      \"secretKey\": \"abc123def456abc789def012abc345def678abc9\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Puerto de controlador\"\n      },\n      {\n        \"description\": \"Puerto 1\"\n      },\n      {\n        \"description\": \"Puerto 2\"\n      },\n      {\n        \"description\": \"Puerto 3\"\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - Palo Alto Prisma SD-WAN (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "locationId": 23,
    "productName": "Palo Alto Prisma Example 3108v",
    "productType": "MVE",
    "term": 12,
    "config": ["diversityZone": "blue"],
    "promoCode": "promox3mnthfree2",
    "vendorConfig": [
      "imageId": 90,
      "ionKey": "1234567890-12345678-1234-1234-1234-123456789012",
      "mveLabel": "MVE 8/32",
      "secretKey": "abc123def456abc789def012abc345def678abc9"
    ],
    "vnics": [["description": "Puerto de controlador"], ["description": "Puerto 1"], ["description": "Puerto 2"], ["description": "Puerto 3"], ["description": ]]
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Buy MVE - Palo Alto VM-Series Firewall (v3)

**Request**

```json
[
  {
    "locationId": 88,
    "productName": "Test Palo Alto MVE",
    "productType": "MVE",
    "term": 12,
    "vendorConfig": {
      "accountName": "My account name",
      "adminPasswordHash": "$5$d7339b3e$KWRIhKSUf.xSXRzJRBBVY0VSJiQ19MESZMpkekCCRFC",
      "imageId": 32,
      "licensedata": 123415,
      "mveLabel": "MVE 2/8",
      "sshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU\n            GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3\n            Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA\n            t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En\n            mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx\n            NrRFi9wrf+M7Q== schacon@mylaptop.local",
      "vendor": "PALO_ALTO"
    },
    "vnics": [
      {
        "description": "Plano de Datos 1"
      },
      {
        "description": null
      },
      {
        "description": "Plano de Datos 3"
      },
      {
        "description": "Plano de Datos 4"
      },
      {
        "description": null
      }
    ]
  }
]
```

**Response**

```json
{
  "data": [
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1680242208512,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "salesId": null,
      "serviceName": "from greg T to Asia Pacific (Sydney) (ap-southeast-2) [DZ-BLUE]",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "AWSHC",
      "dealUid": {},
      "discountMonths": {},
      "distanceBand": "METRO",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": true,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": 1680242208492,
      "nonPayerApproverId": 50402,
      "nonPayerApproverName": "Greg Brown",
      "nonPayerCompanyName": "AWS",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 6,
      "nonPayerMegaPortId": 132573,
      "nonPayerMegaPortName": "Asia Pacific (Sydney) (ap-southeast-2) [DZ-BLUE]",
      "nonPayerMegaPortNsId": 326800,
      "nonPayerStatus": "APPROVED",
      "nonPayerVlanId": 0,
      "oracleVirtualCircuitId": {},
      "orderType": "NEW",
      "originDomain": {},
      "payerApproval": 1680242208455,
      "payerApproverId": 50402,
      "payerApproverName": "Greg Brown",
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": 0,
      "payerLocationId": 2,
      "payerMegaPortId": 155354,
      "payerMegaPortName": "greg T",
      "payerMegaPortNsId": 397416,
      "payerStatus": "APPROVED",
      "payerVlanId": 0,
      "promoCode": {},
      "provisionDate": 1680242208440,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": {},
      "serviceLicense": {},
      "setup": {},
      "speed": 100,
      "usageAlgorithm": "POST_PAID_HOURLY_SPEED_METRO_VXC",
      "vxc": {
        "aLocation": null,
        "aLocationId": null,
        "accountManager": null,
        "adminContactId": null,
        "adminContactName": null,
        "adminLocked": false,
        "attributeTags": {},
        "attributes": [],
        "bLocation": null,
        "bLocationId": null,
        "bgpShutdownDefault": false,
        "billableId": 147636,
        "billableUsageAlgorithm": null,
        "billingContactId": null,
        "billingContactName": null,
        "buyoutPort": null,
        "companyId": 1153,
        "companyName": "Megaport Lab",
        "components": [],
        "configuredDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1680242208482,
        "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
        "currentEstimatedDelivery": null,
        "errorMessage": null,
        "failedReason": null,
        "inAdvanceBillingStatus": null,
        "intercapPath": "",
        "locked": false,
        "market": "Australia",
        "marketplaceVisibility": true,
        "maximumSpeed": null,
        "minimumSpeed": null,
        "name": "awshc",
        "nonPayerCompanyId": null,
        "originDomain": null,
        "payerCompanyId": null,
        "productType": "VXC",
        "promptUid": null,
        "provisioningItems": [],
        "provisioningStatus": "DEPLOYABLE",
        "rateLimit": 100,
        "rateType": "MONTHLY",
        "requestedDate": 1680242208440,
        "salesId": null,
        "salesName": null,
        "secondaryName": null,
        "serviceName": "awshc",
        "tags": [],
        "technicalContactId": null,
        "technicalContactName": null,
        "technicalServiceId": 155731,
        "technicalServiceUid": "5a4d1803-3796-4144-ac35-c582d2f60b6f",
        "terminationDate": null,
        "trialAgreement": false,
        "virtual": false,
        "vxcAutoApproval": false,
        "vxcDistanceBand": "METRO",
        "vxcPermitted": true
      },
      "vxcJTechnicalServiceId": 155731,
      "vxcJTechnicalServiceUid": "5a4d1803-3796-4144-ac35-c582d2f60b6f",
      "vxcOrderId": 114013,
      "webAirProvItem": {}
    }
  ],
  "message": "VXC [5a4d1803-3796-4144-ac35-c582d2f60b6f] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Buy MVE - Palo Alto VM-Series Firewall (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "locationId": 88,
        "productName": "Test Palo Alto MVE",
        "productType": "MVE",
        "term": 12,
        "vendorConfig": {
            "accountName": "My account name",
            "adminPasswordHash": "$5$d7339b3e$KWRIhKSUf.xSXRzJRBBVY0VSJiQ19MESZMpkekCCRFC",
            "imageId": 32,
            "licensedata": 123415,
            "mveLabel": "MVE 2/8",
            "sshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
            GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
            Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
            t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
            mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
            NrRFi9wrf+M7Q== schacon@mylaptop.local",
            "vendor": "PALO_ALTO"
        },
        "vnics": [{ "description": "Plano de Datos 1" }, { "description": None }, { "description": "Plano de Datos 3" }, { "description": "Plano de Datos 4" }, { "description": None }]
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Buy MVE - Palo Alto VM-Series Firewall (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"locationId":88,"productName":"Test Palo Alto MVE","productType":"MVE","term":12,"vendorConfig":{"accountName":"My account name","adminPasswordHash":"$5$d7339b3e$KWRIhKSUf.xSXRzJRBBVY0VSJiQ19MESZMpkekCCRFC","imageId":32,"licensedata":123415,"mveLabel":"MVE 2/8","sshPublicKey":"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU\n            GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3\n            Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA\n            t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En\n            mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx\n            NrRFi9wrf+M7Q== schacon@mylaptop.local","vendor":"PALO_ALTO"},"vnics":[{"description":"Plano de Datos 1"},{"description":null},{"description":"Plano de Datos 3"},{"description":"Plano de Datos 4"},{"description":null}]}]'
};

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

```go Buy MVE - Palo Alto VM-Series Firewall (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"locationId\": 88,\n    \"productName\": \"Test Palo Alto MVE\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"vendorConfig\": {\n      \"accountName\": \"My account name\",\n      \"adminPasswordHash\": \"$5$d7339b3e$KWRIhKSUf.xSXRzJRBBVY0VSJiQ19MESZMpkekCCRFC\",\n      \"imageId\": 32,\n      \"licensedata\": 123415,\n      \"mveLabel\": \"MVE 2/8\",\n      \"sshPublicKey\": \"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU\\n            GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3\\n            Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA\\n            t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En\\n            mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx\\n            NrRFi9wrf+M7Q== schacon@mylaptop.local\",\n      \"vendor\": \"PALO_ALTO\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Plano de Datos 1\"\n      },\n      {\n        \"description\": null\n      },\n      {\n        \"description\": \"Plano de Datos 3\"\n      },\n      {\n        \"description\": \"Plano de Datos 4\"\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Buy MVE - Palo Alto VM-Series Firewall (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"locationId\": 88,\n    \"productName\": \"Test Palo Alto MVE\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"vendorConfig\": {\n      \"accountName\": \"My account name\",\n      \"adminPasswordHash\": \"$5$d7339b3e$KWRIhKSUf.xSXRzJRBBVY0VSJiQ19MESZMpkekCCRFC\",\n      \"imageId\": 32,\n      \"licensedata\": 123415,\n      \"mveLabel\": \"MVE 2/8\",\n      \"sshPublicKey\": \"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU\\n            GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3\\n            Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA\\n            t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En\\n            mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx\\n            NrRFi9wrf+M7Q== schacon@mylaptop.local\",\n      \"vendor\": \"PALO_ALTO\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Plano de Datos 1\"\n      },\n      {\n        \"description\": null\n      },\n      {\n        \"description\": \"Plano de Datos 3\"\n      },\n      {\n        \"description\": \"Plano de Datos 4\"\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]"

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

```java Buy MVE - Palo Alto VM-Series Firewall (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"locationId\": 88,\n    \"productName\": \"Test Palo Alto MVE\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"vendorConfig\": {\n      \"accountName\": \"My account name\",\n      \"adminPasswordHash\": \"$5$d7339b3e$KWRIhKSUf.xSXRzJRBBVY0VSJiQ19MESZMpkekCCRFC\",\n      \"imageId\": 32,\n      \"licensedata\": 123415,\n      \"mveLabel\": \"MVE 2/8\",\n      \"sshPublicKey\": \"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU\\n            GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3\\n            Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA\\n            t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En\\n            mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx\\n            NrRFi9wrf+M7Q== schacon@mylaptop.local\",\n      \"vendor\": \"PALO_ALTO\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Plano de Datos 1\"\n      },\n      {\n        \"description\": null\n      },\n      {\n        \"description\": \"Plano de Datos 3\"\n      },\n      {\n        \"description\": \"Plano de Datos 4\"\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]")
  .asString();
```

```php Buy MVE - Palo Alto VM-Series Firewall (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "locationId": 88,
    "productName": "Test Palo Alto MVE",
    "productType": "MVE",
    "term": 12,
    "vendorConfig": {
      "accountName": "My account name",
      "adminPasswordHash": "$5$d7339b3e$KWRIhKSUf.xSXRzJRBBVY0VSJiQ19MESZMpkekCCRFC",
      "imageId": 32,
      "licensedata": 123415,
      "mveLabel": "MVE 2/8",
      "sshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU\\n            GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3\\n            Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA\\n            t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En\\n            mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx\\n            NrRFi9wrf+M7Q== schacon@mylaptop.local",
      "vendor": "PALO_ALTO"
    },
    "vnics": [
      {
        "description": "Plano de Datos 1"
      },
      {
        "description": null
      },
      {
        "description": "Plano de Datos 3"
      },
      {
        "description": "Plano de Datos 4"
      },
      {
        "description": null
      }
    ]
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Buy MVE - Palo Alto VM-Series Firewall (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"locationId\": 88,\n    \"productName\": \"Test Palo Alto MVE\",\n    \"productType\": \"MVE\",\n    \"term\": 12,\n    \"vendorConfig\": {\n      \"accountName\": \"My account name\",\n      \"adminPasswordHash\": \"$5$d7339b3e$KWRIhKSUf.xSXRzJRBBVY0VSJiQ19MESZMpkekCCRFC\",\n      \"imageId\": 32,\n      \"licensedata\": 123415,\n      \"mveLabel\": \"MVE 2/8\",\n      \"sshPublicKey\": \"ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU\\n            GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3\\n            Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA\\n            t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En\\n            mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx\\n            NrRFi9wrf+M7Q== schacon@mylaptop.local\",\n      \"vendor\": \"PALO_ALTO\"\n    },\n    \"vnics\": [\n      {\n        \"description\": \"Plano de Datos 1\"\n      },\n      {\n        \"description\": null\n      },\n      {\n        \"description\": \"Plano de Datos 3\"\n      },\n      {\n        \"description\": \"Plano de Datos 4\"\n      },\n      {\n        \"description\": null\n      }\n    ]\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Buy MVE - Palo Alto VM-Series Firewall (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "locationId": 88,
    "productName": "Test Palo Alto MVE",
    "productType": "MVE",
    "term": 12,
    "vendorConfig": [
      "accountName": "My account name",
      "adminPasswordHash": "$5$d7339b3e$KWRIhKSUf.xSXRzJRBBVY0VSJiQ19MESZMpkekCCRFC",
      "imageId": 32,
      "licensedata": 123415,
      "mveLabel": "MVE 2/8",
      "sshPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
            GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
            Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
            t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
            mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
            NrRFi9wrf+M7Q== schacon@mylaptop.local",
      "vendor": "PALO_ALTO"
    ],
    "vnics": [["description": "Plano de Datos 1"], ["description": ], ["description": "Plano de Datos 3"], ["description": "Plano de Datos 4"], ["description": ]]
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```

### Create VXC with a Service Key (v3)

**Request**

```json
[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "vlan": 2
        },
        "bEnd": {
          "productUid": "9b5f94e9-1c3f-4398-804d-ab4939e53f37"
        },
        "productName": "Service key SAP VXC",
        "rateLimit": 100,
        "serviceKey": "d2d7fd14-377e-4281-ad22-6b0dfdbae9e5"
      }
    ],
    "productUid": "7fba50bb-ac35-465b-9b8b-9a6d7335ec7a"
  }
]
```

**Response**

```json
{
  "data": [
    {
      "attributeTags": {},
      "costCentre": {},
      "createDate": 1680242208512,
      "intercapPath": null,
      "nonPayerCompanyId": null,
      "payerCompanyId": null,
      "rateType": "MONTHLY",
      "salesId": null,
      "serviceName": "from greg T to Asia Pacific (Sydney) (ap-southeast-2) [DZ-BLUE]",
      "amazonDirectConnectConfigDto": {},
      "amsixConnectConfigDto": {},
      "asn": {},
      "awsId": {},
      "azureServiceKey": {},
      "bgpPassword": {},
      "connectType": "AWSHC",
      "dealUid": {},
      "discountMonths": {},
      "distanceBand": "METRO",
      "duration": 1,
      "fixedTerm": true,
      "fullyApproved": true,
      "monthlyDiscountAmount": {},
      "nonPayerApproval": 1680242208492,
      "nonPayerApproverId": 50402,
      "nonPayerApproverName": "Greg Brown",
      "nonPayerCompanyName": "AWS",
      "nonPayerConfig": {},
      "nonPayerInnerVlanId": {},
      "nonPayerLocationId": 6,
      "nonPayerMegaPortId": 132573,
      "nonPayerMegaPortName": "Asia Pacific (Sydney) (ap-southeast-2) [DZ-BLUE]",
      "nonPayerMegaPortNsId": 326800,
      "nonPayerStatus": "APPROVED",
      "nonPayerVlanId": 0,
      "oracleVirtualCircuitId": {},
      "orderType": "NEW",
      "originDomain": {},
      "payerApproval": 1680242208455,
      "payerApproverId": 50402,
      "payerApproverName": "Greg Brown",
      "payerCompanyName": "Megaport Lab",
      "payerConfig": {},
      "payerInnerVlanId": 0,
      "payerLocationId": 2,
      "payerMegaPortId": 155354,
      "payerMegaPortName": "greg T",
      "payerMegaPortNsId": 397416,
      "payerStatus": "APPROVED",
      "payerVlanId": 0,
      "promoCode": {},
      "provisionDate": 1680242208440,
      "rate": {},
      "rollover": true,
      "sdrcProvItem": {},
      "serviceKey": {},
      "serviceLicense": {},
      "setup": {},
      "speed": 100,
      "usageAlgorithm": "POST_PAID_HOURLY_SPEED_METRO_VXC",
      "vxc": {
        "aLocation": null,
        "aLocationId": null,
        "accountManager": null,
        "adminContactId": null,
        "adminContactName": null,
        "adminLocked": false,
        "attributeTags": {},
        "attributes": [],
        "bLocation": null,
        "bLocationId": null,
        "bgpShutdownDefault": false,
        "billableId": 147636,
        "billableUsageAlgorithm": null,
        "billingContactId": null,
        "billingContactName": null,
        "buyoutPort": null,
        "companyId": 1153,
        "companyName": "Megaport Lab",
        "components": [],
        "configuredDate": null,
        "contractStartDate": null,
        "contractTermMonths": 1,
        "createDate": 1680242208482,
        "createdBy": "f39b8983-256e-4643-adec-9f0b5da09ab7",
        "currentEstimatedDelivery": null,
        "errorMessage": null,
        "failedReason": null,
        "inAdvanceBillingStatus": null,
        "intercapPath": "",
        "locked": false,
        "market": "Australia",
        "marketplaceVisibility": true,
        "maximumSpeed": null,
        "minimumSpeed": null,
        "name": "awshc",
        "nonPayerCompanyId": null,
        "originDomain": null,
        "payerCompanyId": null,
        "productType": "VXC",
        "promptUid": null,
        "provisioningItems": [],
        "provisioningStatus": "DEPLOYABLE",
        "rateLimit": 100,
        "rateType": "MONTHLY",
        "requestedDate": 1680242208440,
        "salesId": null,
        "salesName": null,
        "secondaryName": null,
        "serviceName": "awshc",
        "tags": [],
        "technicalContactId": null,
        "technicalContactName": null,
        "technicalServiceId": 155731,
        "technicalServiceUid": "5a4d1803-3796-4144-ac35-c582d2f60b6f",
        "terminationDate": null,
        "trialAgreement": false,
        "virtual": false,
        "vxcAutoApproval": false,
        "vxcDistanceBand": "METRO",
        "vxcPermitted": true
      },
      "vxcJTechnicalServiceId": 155731,
      "vxcJTechnicalServiceUid": "5a4d1803-3796-4144-ac35-c582d2f60b6f",
      "vxcOrderId": 114013,
      "webAirProvItem": {}
    }
  ],
  "message": "VXC [5a4d1803-3796-4144-ac35-c582d2f60b6f] creado.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Create VXC with a Service Key (v3)
import requests

url = "https://api.megaport.com/v3/networkdesign/buy"

payload = [
    {
        "associatedVxcs": [
            {
                "aEnd": { "vlan": 2 },
                "bEnd": { "productUid": "9b5f94e9-1c3f-4398-804d-ab4939e53f37" },
                "productName": "Service key SAP VXC",
                "rateLimit": 100,
                "serviceKey": "d2d7fd14-377e-4281-ad22-6b0dfdbae9e5"
            }
        ],
        "productUid": "7fba50bb-ac35-465b-9b8b-9a6d7335ec7a"
    }
]
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Create VXC with a Service Key (v3)
const url = 'https://api.megaport.com/v3/networkdesign/buy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '[{"associatedVxcs":[{"aEnd":{"vlan":2},"bEnd":{"productUid":"9b5f94e9-1c3f-4398-804d-ab4939e53f37"},"productName":"Service key SAP VXC","rateLimit":100,"serviceKey":"d2d7fd14-377e-4281-ad22-6b0dfdbae9e5"}],"productUid":"7fba50bb-ac35-465b-9b8b-9a6d7335ec7a"}]'
};

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

```go Create VXC with a Service Key (v3)
package main

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

func main() {

	url := "https://api.megaport.com/v3/networkdesign/buy"

	payload := strings.NewReader("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 2\n        },\n        \"bEnd\": {\n          \"productUid\": \"9b5f94e9-1c3f-4398-804d-ab4939e53f37\"\n        },\n        \"productName\": \"Service key SAP VXC\",\n        \"rateLimit\": 100,\n        \"serviceKey\": \"d2d7fd14-377e-4281-ad22-6b0dfdbae9e5\"\n      }\n    ],\n    \"productUid\": \"7fba50bb-ac35-465b-9b8b-9a6d7335ec7a\"\n  }\n]")

	req, _ := http.NewRequest("POST", 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 Create VXC with a Service Key (v3)
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v3/networkdesign/buy")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 2\n        },\n        \"bEnd\": {\n          \"productUid\": \"9b5f94e9-1c3f-4398-804d-ab4939e53f37\"\n        },\n        \"productName\": \"Service key SAP VXC\",\n        \"rateLimit\": 100,\n        \"serviceKey\": \"d2d7fd14-377e-4281-ad22-6b0dfdbae9e5\"\n      }\n    ],\n    \"productUid\": \"7fba50bb-ac35-465b-9b8b-9a6d7335ec7a\"\n  }\n]"

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

```java Create VXC with a Service Key (v3)
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.megaport.com/v3/networkdesign/buy")
  .header("Content-Type", "application/json")
  .body("[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 2\n        },\n        \"bEnd\": {\n          \"productUid\": \"9b5f94e9-1c3f-4398-804d-ab4939e53f37\"\n        },\n        \"productName\": \"Service key SAP VXC\",\n        \"rateLimit\": 100,\n        \"serviceKey\": \"d2d7fd14-377e-4281-ad22-6b0dfdbae9e5\"\n      }\n    ],\n    \"productUid\": \"7fba50bb-ac35-465b-9b8b-9a6d7335ec7a\"\n  }\n]")
  .asString();
```

```php Create VXC with a Service Key (v3)
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.megaport.com/v3/networkdesign/buy', [
  'body' => '[
  {
    "associatedVxcs": [
      {
        "aEnd": {
          "vlan": 2
        },
        "bEnd": {
          "productUid": "9b5f94e9-1c3f-4398-804d-ab4939e53f37"
        },
        "productName": "Service key SAP VXC",
        "rateLimit": 100,
        "serviceKey": "d2d7fd14-377e-4281-ad22-6b0dfdbae9e5"
      }
    ],
    "productUid": "7fba50bb-ac35-465b-9b8b-9a6d7335ec7a"
  }
]',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Create VXC with a Service Key (v3)
using RestSharp;

var client = new RestClient("https://api.megaport.com/v3/networkdesign/buy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[\n  {\n    \"associatedVxcs\": [\n      {\n        \"aEnd\": {\n          \"vlan\": 2\n        },\n        \"bEnd\": {\n          \"productUid\": \"9b5f94e9-1c3f-4398-804d-ab4939e53f37\"\n        },\n        \"productName\": \"Service key SAP VXC\",\n        \"rateLimit\": 100,\n        \"serviceKey\": \"d2d7fd14-377e-4281-ad22-6b0dfdbae9e5\"\n      }\n    ],\n    \"productUid\": \"7fba50bb-ac35-465b-9b8b-9a6d7335ec7a\"\n  }\n]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Create VXC with a Service Key (v3)
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  [
    "associatedVxcs": [
      [
        "aEnd": ["vlan": 2],
        "bEnd": ["productUid": "9b5f94e9-1c3f-4398-804d-ab4939e53f37"],
        "productName": "Service key SAP VXC",
        "rateLimit": 100,
        "serviceKey": "d2d7fd14-377e-4281-ad22-6b0dfdbae9e5"
      ]
    ],
    "productUid": "7fba50bb-ac35-465b-9b8b-9a6d7335ec7a"
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/v3/networkdesign/buy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
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()
```