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

# Update Managed Company Details

PUT https://api.megaport.com/v2/managedCompanies/{managedCompanyUid}
Content-Type: application/json

Megaport Partners can update details for their managed accounts through the API.

You identify the company by providing the `companyUid` as a parameter for the endpoint. This is the `companyUid` returned when the company was created.

The parameters are defined in the Body of the request:

- `accountName` â€“ A unique, easily identifiable name for the account. The length can range from 1 to 128 characters (Required - string).
    
- `accountRef` - A reference ID for the managed account. The `accountRef` is typically an identifier used in partner systems (for example, CRM or billing). This value is shown on the invoices as the Managed Account Reference. The `accountRef` also identifies the account in email notifications. (The `accountRef` value maps to the Managed Account UID in the Portal interface.) (Required - string).
    
- `techSupportEmail` - The email address for technical support. This is used for communication regarding technical issues or inquiries. It should be a valid email format (Optional - string).
    
- `techSupportPhone` - The phone number for technical support. This is used for communication regarding technical issues or inquiries. It should be in a valid phone number format (Optional - string).
    
- `markets` - An array of objects that identify the managed account, including `marketCode`, `currency`, `taxId`, and `taxAddress`. The `taxAddress` object represents a Google Address DTO (Data Transfer Object). It contains various properties related to an address, such as latitude, longitude, street name, postcode, and more. Each property provides specific details about the address, which can be used in various applications or services (Optional - array).
    
- `resellerName` - The name of the reseller associated with the company (Optional - string).
    
- `resourceLimits` - The maximum number of services allowed to be ordered for a given product type. Resource limits can only be configured for these product types: MEGAPORT, MVE, MCR2, NAT_GATEWAY, IX, VXC (Optional - array).

Reference: https://en.megaport.ferndocs.com/api-reference/partner-api-for-managed-accounts/update-managed-company-details

## Servers

- `https://api.megaport.com` (Production environment, default)
- `https://api-staging.megaport.com` (Staging environment (test only, reset every 24 hours))

## Request

### Path parameters

- `managedCompanyUid` (string, required)

### Body (application/json)

This endpoint expects an object.

- `accountName` (string, optional)
- `accountRef` (string, optional)
- `resourceLimits` (list of V2ManagedCompaniesManagedCompanyUidPutRequestBodyContentApplicationJsonSchemaResourceLimitsItems, optional)
- `techSupportEmail` (string, optional)
- `techSupportPhone` (string, optional)

## Response

### 200

Update Managed Company Details - Full Details / Update Managed Company Details - Name and Reference / Update Managed Company Details - Name and Reference / Update Managed Company Details - Full Details

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

## Types

### V2ManagedCompaniesManagedCompanyUidPutRequestBodyContentApplicationJsonSchemaResourceLimitsItems

- `limit` (double, optional)
- `productType` (string, optional)

### V2ManagedCompaniesManagedCompanyUidPutResponsesContentApplicationJsonSchemaData

- `accountName` (string, optional)
- `accountRef` (string, optional)
- `companyUid` (string, optional)
- `resourceLimits` (list of V2ManagedCompaniesManagedCompanyUidPutResponsesContentApplicationJsonSchemaDataResourceLimitsItems, optional)
- `techSupportEmail` (string, optional)
- `techSupportPhone` (string, optional)

### V2ManagedCompaniesManagedCompanyUidPutResponsesContentApplicationJsonSchemaDataResourceLimitsItems

- `currentCount` (double, optional)
- `limit` (double, optional)
- `productType` (string, optional)

## Examples

### Update Managed Company Details - Full Details

**Response**

```json
{
  "data": {
    "accountName": "Best Demo Company Ever",
    "accountRef": "222-1313-0329-1961",
    "companyUid": "fd404dc9-9efd-43c1-9e0b-a58a9d250130",
    "resourceLimits": [
      {
        "currentCount": 8,
        "limit": 15,
        "productType": "MEGAPORT"
      },
      {
        "currentCount": 2,
        "limit": 10,
        "productType": "MCR"
      }
    ],
    "techSupportEmail": "support-user@example.com",
    "techSupportPhone": "555-1235"
  },
  "message": "Managed company: fd404dc9-9efd-43c1-9e0b-a58a9d250130 has been successfully updated.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Update Managed Company Details - Full Details
import requests

url = "https://api.megaport.com/v2/managedCompanies/managedCompanyUid"

response = requests.put(url)

print(response.json())
```

```javascript Update Managed Company Details - Full Details
const url = 'https://api.megaport.com/v2/managedCompanies/managedCompanyUid';
const options = {method: 'PUT'};

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

```go Update Managed Company Details - Full Details
package main

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

func main() {

	url := "https://api.megaport.com/v2/managedCompanies/managedCompanyUid"

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

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

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

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

}
```

```ruby Update Managed Company Details - Full Details
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v2/managedCompanies/managedCompanyUid")

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

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

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

```java Update Managed Company Details - Full Details
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

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

```php Update Managed Company Details - Full Details
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

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

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

```csharp Update Managed Company Details - Full Details
using RestSharp;

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

```swift Update Managed Company Details - Full Details
import Foundation

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

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

dataTask.resume()
```

### Update Managed Company Details - Name and Reference

**Response**

```json
{
  "data": {
    "accountName": "Best Demo Company",
    "accountRef": "222-1313-0329-1961",
    "companyUid": "699deae1-8704-475b-b3df-9ec2b795a019"
  },
  "message": "Managed company: 699deae1-8704-475b-b3df-9ec2b795a019 has been successfully updated.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Update Managed Company Details - Name and Reference
import requests

url = "https://api.megaport.com/v2/managedCompanies/managedCompanyUid"

response = requests.put(url)

print(response.json())
```

```javascript Update Managed Company Details - Name and Reference
const url = 'https://api.megaport.com/v2/managedCompanies/managedCompanyUid';
const options = {method: 'PUT'};

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

```go Update Managed Company Details - Name and Reference
package main

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

func main() {

	url := "https://api.megaport.com/v2/managedCompanies/managedCompanyUid"

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

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

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

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

}
```

```ruby Update Managed Company Details - Name and Reference
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v2/managedCompanies/managedCompanyUid")

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

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

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

```java Update Managed Company Details - Name and Reference
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

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

```php Update Managed Company Details - Name and Reference
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

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

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

```csharp Update Managed Company Details - Name and Reference
using RestSharp;

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

```swift Update Managed Company Details - Name and Reference
import Foundation

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

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

dataTask.resume()
```

### Update Managed Company Details

**Request**

```json
{
  "accountName": "Best Demo Company Ever",
  "accountRef": "222-1313-0329-1961",
  "resourceLimits": [
    {
      "limit": 15,
      "productType": "MEGAPORT"
    },
    {
      "limit": 10,
      "productType": "MCR"
    }
  ],
  "techSupportEmail": "support-user@example.com",
  "techSupportPhone": "555-1235"
}
```

**Response**

```json
{
  "data": {
    "accountName": "Best Demo Company Ever",
    "accountRef": "222-1313-0329-1961",
    "companyUid": "fd404dc9-9efd-43c1-9e0b-a58a9d250130",
    "resourceLimits": [
      {
        "currentCount": 8,
        "limit": 15,
        "productType": "MEGAPORT"
      },
      {
        "currentCount": 2,
        "limit": 10,
        "productType": "MCR"
      }
    ],
    "techSupportEmail": "support-user@example.com",
    "techSupportPhone": "555-1235"
  },
  "message": "Managed company: fd404dc9-9efd-43c1-9e0b-a58a9d250130 has been successfully updated.",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Update Managed Company Details
import requests

url = "https://api.megaport.com/v2/managedCompanies/managedCompanyUid"

payload = {
    "accountName": "Best Demo Company Ever",
    "accountRef": "222-1313-0329-1961",
    "resourceLimits": [
        {
            "limit": 15,
            "productType": "MEGAPORT"
        },
        {
            "limit": 10,
            "productType": "MCR"
        }
    ],
    "techSupportEmail": "support-user@example.com",
    "techSupportPhone": "555-1235"
}
headers = {"Content-Type": "application/json"}

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

print(response.json())
```

```javascript Update Managed Company Details
const url = 'https://api.megaport.com/v2/managedCompanies/managedCompanyUid';
const options = {
  method: 'PUT',
  headers: {'Content-Type': 'application/json'},
  body: '{"accountName":"Best Demo Company Ever","accountRef":"222-1313-0329-1961","resourceLimits":[{"limit":15,"productType":"MEGAPORT"},{"limit":10,"productType":"MCR"}],"techSupportEmail":"support-user@example.com","techSupportPhone":"555-1235"}'
};

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

```go Update Managed Company Details
package main

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

func main() {

	url := "https://api.megaport.com/v2/managedCompanies/managedCompanyUid"

	payload := strings.NewReader("{\n  \"accountName\": \"Best Demo Company Ever\",\n  \"accountRef\": \"222-1313-0329-1961\",\n  \"resourceLimits\": [\n    {\n      \"limit\": 15,\n      \"productType\": \"MEGAPORT\"\n    },\n    {\n      \"limit\": 10,\n      \"productType\": \"MCR\"\n    }\n  ],\n  \"techSupportEmail\": \"support-user@example.com\",\n  \"techSupportPhone\": \"555-1235\"\n}")

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

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

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

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

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

}
```

```ruby Update Managed Company Details
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/v2/managedCompanies/managedCompanyUid")

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

request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n  \"accountName\": \"Best Demo Company Ever\",\n  \"accountRef\": \"222-1313-0329-1961\",\n  \"resourceLimits\": [\n    {\n      \"limit\": 15,\n      \"productType\": \"MEGAPORT\"\n    },\n    {\n      \"limit\": 10,\n      \"productType\": \"MCR\"\n    }\n  ],\n  \"techSupportEmail\": \"support-user@example.com\",\n  \"techSupportPhone\": \"555-1235\"\n}"

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

```java Update Managed Company Details
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.put("https://api.megaport.com/v2/managedCompanies/managedCompanyUid")
  .header("Content-Type", "application/json")
  .body("{\n  \"accountName\": \"Best Demo Company Ever\",\n  \"accountRef\": \"222-1313-0329-1961\",\n  \"resourceLimits\": [\n    {\n      \"limit\": 15,\n      \"productType\": \"MEGAPORT\"\n    },\n    {\n      \"limit\": 10,\n      \"productType\": \"MCR\"\n    }\n  ],\n  \"techSupportEmail\": \"support-user@example.com\",\n  \"techSupportPhone\": \"555-1235\"\n}")
  .asString();
```

```php Update Managed Company Details
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('PUT', 'https://api.megaport.com/v2/managedCompanies/managedCompanyUid', [
  'body' => '{
  "accountName": "Best Demo Company Ever",
  "accountRef": "222-1313-0329-1961",
  "resourceLimits": [
    {
      "limit": 15,
      "productType": "MEGAPORT"
    },
    {
      "limit": 10,
      "productType": "MCR"
    }
  ],
  "techSupportEmail": "support-user@example.com",
  "techSupportPhone": "555-1235"
}',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp Update Managed Company Details
using RestSharp;

var client = new RestClient("https://api.megaport.com/v2/managedCompanies/managedCompanyUid");
var request = new RestRequest(Method.PUT);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"accountName\": \"Best Demo Company Ever\",\n  \"accountRef\": \"222-1313-0329-1961\",\n  \"resourceLimits\": [\n    {\n      \"limit\": 15,\n      \"productType\": \"MEGAPORT\"\n    },\n    {\n      \"limit\": 10,\n      \"productType\": \"MCR\"\n    }\n  ],\n  \"techSupportEmail\": \"support-user@example.com\",\n  \"techSupportPhone\": \"555-1235\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Update Managed Company Details
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  "accountName": "Best Demo Company Ever",
  "accountRef": "222-1313-0329-1961",
  "resourceLimits": [
    [
      "limit": 15,
      "productType": "MEGAPORT"
    ],
    [
      "limit": 10,
      "productType": "MCR"
    ]
  ],
  "techSupportEmail": "support-user@example.com",
  "techSupportPhone": "555-1235"
] as [String : Any]

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

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

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

dataTask.resume()
```