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

# Company Activity

GET https://api.megaport.com/v3/companyActivity

Returns a list of activity logs matching the search criteria, for the company of the logged-in user. (Company Admins only).

For a full list of the activities that are recorded, see [What information is logged](https://docs.megaport.com/portal-admin/activity-logs/#what-information-is-logged).

You can retrieve all of the company activities that have been performed using this request without specifying any optional parameters. You can also retrieve logs for a specific activity name, user UID, user type, service, and date range. Using the `q` parameter, you can also perform a fuzzy search, which will be matched partially against activity name and user login name.

You can find the `activityName` values from the `/v3/companyActivityNames` endpoint. The `userUid` can be either a user UID or an API key client ID. The `userType` can be one of these values: USER, STAFF, API, M2M, SYSTEM.

The `from` and `to` date values must be entered in ISO 8601 date format (YYYY-MM-DD'T'HH:MM:SSZ). For example, 2025-07-20 specifies the 20th of August 2025. For more information, see [ISO 8601 Date and time format](https://www.iso.org/iso-8601-date-and-time-format.html).

The response contains details including the user's name, the user's ID (personId), a description of the activity that occurred, the name of the activity, the date the activity occurred, and the user type.  
`createDate` is returned in UNIX timestamp date format. You can use tools such as [https://www.epochconverter.com/](https://www.epochconverter.com/) or [https://it-tools.tech/date-converter](https://it-tools.tech/date-converter) to convert the date to a human-readable format.

### **Who can view activities?**

Company Admins can retrieve all of the activities of the company the user belongs to using this request. However, the same request by a user who is not a Company Admin will return an error with the message _"Missing the_ _required permission \[company_admin\]"_. The same result is returned if a Company Admin attempts to access a different companies' activities.

Reference: https://en.megaport.ferndocs.com/api-reference/activity-logs/company-activity

## Servers

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

## Request

### Query parameters

- `pageable` (string, optional) — Pagination object using the pagination and sort parameters (pageSize, pageNumber, sort). Defaults to pageSize(10), pageNumber(1) and sort(createDate,desc). (Optional - Boolean)
- `activityName` (string, optional) — The activity name. (Optional - string)
- `userUid` (string, optional) — The user UID. Can be a user UID or API key client ID. (Optional - string)
- `userType` (string, optional) — The user type. Search is case-insensitive. Accepted values: USER, STAFF, API, M2M, SYSTEM. (Optional - string)
- `targetEntityUid` (string, optional) — The unique identifier of the target entity associated with the activity. For example, a technical service Uid. (Optional - string)
- `q` (string, optional) — Fuzzy search parameter. This is matched partially against the activity name and the user login name. (Optional - string)
- `from` (string, optional) — The start date for which to return activities. Enter the date in ISO 8601 format: YYYY-MM-DD'T'HH:MM:SSZ. (Optional)
- `to` (string, optional) — The end date for which to return activities. Enter the date in ISO 8601 format: YYYY-MM-DD'T'HH:MM:SSZ. (Optional)

## Response

### 200

Company Activity - All Activity / Company Activity - Login Activity / Company Activity - User Type / Company Activity - Search on User Name / Company Activity - Service Activity / Company Activity - Login Activity / Company Activity - Search on User Name / Company Activity - User Type / Company Activity - All Activity / Company Activity - Service Activity

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

## Types

### V3CompanyActivityGetResponsesContentApplicationJsonSchemaDataItems

- `createDate` (double, optional)
- `description` (string, optional)
- `loginName` (string, optional)
- `name` (string, optional)
- `personId` (double, optional)
- `userType` (string, optional)

## Examples

### Company Activity - All Activity

**Response**

```json
{
  "data": [
    {
      "createDate": 1751002092704,
      "description": "Successful manual login",
      "loginName": "Cameron Eden",
      "name": "Login",
      "personId": 51397,
      "userType": "USER"
    },
    {
      "createDate": 1751001753677,
      "description": "Successful manual login",
      "loginName": "Cameron Eden",
      "name": "Login",
      "personId": 51397,
      "userType": "USER"
    },
    {
      "createDate": 1750995401053,
      "description": "Service [247301] updated with fields [name=Detroit to Tokyo - Cloud VXC, autoRenewTerm=true, rateLimit=10000, shutdown=false, aEndVlan=1075]",
      "loginName": "Bryan Brown",
      "name": "Service Updated",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995378148,
      "description": "Service [247301] updated with fields [name=Detroit to Tokyo - Cloud VXC, autoRenewTerm=true, rateLimit=10000, shutdown=false, aEndVlan=1075]",
      "loginName": "Bryan Brown",
      "name": "Service Updated",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750645746318,
      "description": "New Order via API [MegaportServiceDto{productType=MEGAPORT, createDate=Mon Jun 23 12:28:56 AEST 2025, productUid=c9bdcbe0-a0b4-4b9c-ae44-b264da0878e4, portSpeed=1000, lagPortCount=null, terminateDate=null, requestDate=null, market='null', marketplaceVisibility=false, vxcpermitted=true, vxcAutoApproval=false, isVirtual=false, associatedVxcs=[], associatedIxs=[], buyoutPort=false, crossConnectRequested=false, config=ConfigDto{mcrAsn=null, lag=null, lag_service_id=null, mcrVersion=null, bgpShutdownDefault=false, diverseFrom=null, diversityZone='red', customProperties={}}, serviceLicence=null, addOns=[]}MegaportServiceDto{productType=MEGAPORT, createDate=Mon Jun 23 12:28:56 AEST 2025, productUid=54529440-2157-410c-bec7-83fd42418446, portSpeed=1000, lagPortCount=null, terminateDate=null, requestDate=null, market='null', marketplaceVisibility=false, vxcpermitted=true, vxcAutoApproval=false, isVirtual=false, associatedVxcs=[], associatedIxs=[], buyoutPort=false, crossConnectRequested=false, config=ConfigDto{mcrAsn=null, lag=null, lag_service_id=null, mcrVersion=null, bgpShutdownDefault=false, diverseFrom=null, diversityZone='blue', customProperties={}}, serviceLicence=null, addOns=[]}]",
      "loginName": "Kim Hughes",
      "name": "New API Order",
      "personId": 26870,
      "userType": "USER"
    },
    {
      "createDate": 1750645741729,
      "description": "New Order validated via API [MegaportServiceDto{productType=MEGAPORT, createDate=Mon Jun 23 12:28:56 AEST 2025, productUid=a4cb74a0-4fd9-11f0-818d-bf40fe7cee82, portSpeed=1000, lagPortCount=null, terminateDate=null, requestDate=null, market='null', marketplaceVisibility=false, vxcpermitted=true, vxcAutoApproval=false, isVirtual=false, associatedVxcs=[], associatedIxs=[], buyoutPort=false, crossConnectRequested=false, config=ConfigDto{mcrAsn=null, lag=null, lag_service_id=null, mcrVersion=null, bgpShutdownDefault=false, diverseFrom=null, diversityZone='red', customProperties={}}, serviceLicence=null, addOns=[]}MegaportServiceDto{productType=MEGAPORT, createDate=Mon Jun 23 12:28:56 AEST 2025, productUid=cffb0f00-4fd9-11f0-818d-bf40fe7cee82, portSpeed=1000, lagPortCount=null, terminateDate=null, requestDate=null, market='null', marketplaceVisibility=false, vxcpermitted=true, vxcAutoApproval=false, isVirtual=false, associatedVxcs=[], associatedIxs=[], buyoutPort=false, crossConnectRequested=false, config=ConfigDto{mcrAsn=null, lag=null, lag_service_id=null, mcrVersion=null, bgpShutdownDefault=false, diverseFrom=null, diversityZone='blue', customProperties={}}, serviceLicence=null, addOns=[]}]",
      "loginName": "Kim Hughes",
      "name": "New API Order Validation",
      "personId": 26870,
      "userType": "USER"
    },
    {
      "createDate": 1750640063136,
      "description": "Successful manual login",
      "loginName": "Kim Hughes",
      "name": "Login",
      "personId": 26870,
      "userType": "USER"
    },
    {
      "createDate": 1750637730232,
      "description": "Successful manual login",
      "loginName": "Kim Hughes",
      "name": "Login",
      "personId": 47296,
      "userType": "USER"
    },
    {
      "createDate": 1750995370666,
      "description": "Service [247301] updated with fields [name=Detroit to Tokyo - Cloud VXC, term=24, autoRenewTerm=true, rateLimit=10000, shutdown=false, aEndVlan=1075, aEndConfig={}, bEndConfig={bandwidth=10000, connectType=ALIBABA, resource_name=b_csp_connection, resource_type=csp_connection, account_id=5234561292937849, bandwidths=[50, 100, 200, 300, 400, 500, 1000, 2000, 5000, 8000, 10000], csp_name=Alibaba}]",
      "loginName": "Bryan Brown",
      "name": "Service Updated",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995370653,
      "description": "Product [d7f2b424-9c55-449b-aebd-4128913fe84c] changed to 24 months term.",
      "loginName": "Bryan Brown",
      "name": "Port Term Change Successful",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995299497,
      "description": "Packet Filter List created successfully with details: ['description': 'To HO', 'entries/0.action': 'deny', 'entries/0.description': '', 'entries/0.destinationAddress': '10.1.1.0/24', 'entries/0.sourceAddress': '10.1.1.0/24']",
      "loginName": "Bryan Brown",
      "name": "Packet Filter List Created",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995198500,
      "description": "Service [247300] updated with fields [name -> 5GN Melbourne Data Centre (MDC) @ Melbourne - MCR2, autoRenewTerm -> true, costCentre -> 45i67, rateLimit -> 10000, bgpShutdownDefault -> false]",
      "loginName": "Bryan Brown",
      "name": "Service Updated",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995195042,
      "description": "Tags were added or removed successfully.",
      "loginName": "Bryan Brown",
      "name": "Tags Updated",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995171754,
      "description": "Service [247300] updated with fields [name -> 5GN Melbourne Data Centre (MDC) @ Melbourne - MCR2, term -> 24, autoRenewTerm -> true, costCentre -> 230, bgpShutdownDefault -> false]",
      "loginName": "Bryan Brown",
      "name": "Service Updated",
      "personId": 50402,
      "userType": "USER"
    }
  ],
  "message": "Company activities",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Company Activity - All Activity
import requests

url = "https://api.megaport.com/v3/companyActivity"

response = requests.get(url)

print(response.json())
```

```javascript Company Activity - All Activity
const url = 'https://api.megaport.com/v3/companyActivity';
const options = {method: 'GET'};

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

```go Company Activity - All Activity
package main

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

func main() {

	url := "https://api.megaport.com/v3/companyActivity"

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

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

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

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

}
```

```ruby Company Activity - All Activity
require 'uri'
require 'net/http'

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

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

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

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

```java Company Activity - All Activity
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

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

```php Company Activity - All Activity
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

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

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

```csharp Company Activity - All Activity
using RestSharp;

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

```swift Company Activity - All Activity
import Foundation

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

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

dataTask.resume()
```

### Company Activity - Login Activity

**Response**

```json
{
  "data": [
    {
      "createDate": 1751002092704,
      "description": "Successful manual login",
      "loginName": "Cameron Eden",
      "name": "Login",
      "personId": 51397,
      "userType": "USER"
    },
    {
      "createDate": 1751001753677,
      "description": "Successful manual login",
      "loginName": "Cameron Eden",
      "name": "Login",
      "personId": 51397,
      "userType": "USER"
    },
    {
      "createDate": 1750994456492,
      "description": "Successful manual login",
      "loginName": "Bryan Brown",
      "name": "Login",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750987568138,
      "description": "Successful manual login",
      "loginName": "Kim Hughes",
      "name": "Login",
      "personId": 26870,
      "userType": "USER"
    },
    {
      "createDate": 1750983131061,
      "description": "Successful manual login",
      "loginName": "Richard Gear",
      "name": "Login",
      "personId": 61393,
      "userType": "USER"
    }
  ],
  "message": "Company activities",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Company Activity - Login Activity
import requests

url = "https://api.megaport.com/v3/companyActivity"

response = requests.get(url)

print(response.json())
```

```javascript Company Activity - Login Activity
const url = 'https://api.megaport.com/v3/companyActivity';
const options = {method: 'GET'};

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

```go Company Activity - Login Activity
package main

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

func main() {

	url := "https://api.megaport.com/v3/companyActivity"

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

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

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

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

}
```

```ruby Company Activity - Login Activity
require 'uri'
require 'net/http'

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

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

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

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

```java Company Activity - Login Activity
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

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

```php Company Activity - Login Activity
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

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

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

```csharp Company Activity - Login Activity
using RestSharp;

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

```swift Company Activity - Login Activity
import Foundation

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

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

dataTask.resume()
```

### Company Activity - Search on User Name

**Response**

```json
{
  "data": [
    {
      "createDate": 1750995401053,
      "description": "Service [247301] updated with fields [name=Detroit to Tokyo - Cloud VXC, autoRenewTerm=true, rateLimit=10000, shutdown=false, aEndVlan=1075]",
      "loginName": "Bryan Brown",
      "name": "Service Updated",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995378148,
      "description": "Service [247301] updated with fields [name=Detroit to Tokyo - Cloud VXC, autoRenewTerm=true, rateLimit=10000, shutdown=false, aEndVlan=1075]",
      "loginName": "Bryan Brown",
      "name": "Service Updated",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995370666,
      "description": "Service [247301] updated with fields [name=Detroit to Tokyo - Cloud VXC, term=24, autoRenewTerm=true, rateLimit=10000, shutdown=false, aEndVlan=1075, aEndConfig={}, bEndConfig={bandwidth=10000, connectType=ALIBABA, resource_name=b_csp_connection, resource_type=csp_connection, account_id=5234561292937849, bandwidths=[50, 100, 200, 300, 400, 500, 1000, 2000, 5000, 8000, 10000], csp_name=Alibaba}]",
      "loginName": "Bryan Brown",
      "name": "Service Updated",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995370653,
      "description": "Product [d7f2b424-9c55-449b-aebd-4128913fe84c] changed to 24 months term.",
      "loginName": "Bryan Brown",
      "name": "Port Term Change Successful",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995299497,
      "description": "Packet Filter List created successfully with details: ['description': 'To HO', 'entries/0.action': 'deny', 'entries/0.description': '', 'entries/0.destinationAddress': '10.1.1.0/24', 'entries/0.sourceAddress': '10.1.1.0/24']",
      "loginName": "Bryan Brown",
      "name": "Packet Filter List Created",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995198500,
      "description": "Service [247300] updated with fields [name -> 5GN Melbourne Data Centre (MDC) @ Melbourne - MCR2, autoRenewTerm -> true, costCentre -> 45i67, rateLimit -> 10000, bgpShutdownDefault -> false]",
      "loginName": "Bryan Brown",
      "name": "Service Updated",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995195042,
      "description": "Tags were added or removed successfully.",
      "loginName": "Bryan Brown",
      "name": "Tags Updated",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995171754,
      "description": "Service [247300] updated with fields [name -> 5GN Melbourne Data Centre (MDC) @ Melbourne - MCR2, term -> 24, autoRenewTerm -> true, costCentre -> 230, bgpShutdownDefault -> false]",
      "loginName": "Bryan Brown",
      "name": "Service Updated",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995171644,
      "description": "Product [827f1878-cfd2-48ad-80fd-0b42e4c59b78] changed to 24 months term.",
      "loginName": "Bryan Brown",
      "name": "Port Term Change Successful",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995143623,
      "description": "New Order via API [MegaportServiceDto{productType=MVE, createDate=Fri Jun 27 13:31:43 AEST 2025, productUid=39fcda6b-7274-46dd-bac6-dbb680ca070b, portSpeed=null, lagPortCount=null, terminateDate=null, requestDate=null, market='null', marketplaceVisibility=false, vxcpermitted=true, vxcAutoApproval=false, isVirtual=true, associatedVxcs=[VxcDto{aEnd=EndServiceDto{productUid='39fcda6b-7274-46dd-bac6-dbb680ca070b', nServiceId='null', productName='null', vlan=0, innerVlan=-1, vxcPermitted=true, locationId=4, metroId=null, locationUid='null', vnic=0, config=[]}, bEnd=EndServiceDto{productUid='0fbbdcfc-1642-4a43-b549-6900f71e7006', nServiceId='null', productName='null', vlan=0, innerVlan=null, vxcPermitted=true, locationId=4, metroId=null, locationUid='null', vnic=null, config=[complete=false, connectType=TRANSIT, fixedBandwidths=null]}, partnerConfigs=[], shutdown='false'AbstractServiceDto{productUid='4266b870-5307-11f0-94c3-91c7e4a86144', locationId=null, metroId=null, term=12, autoRenewTerm=true, locationUid='null', productName='NextDC M1 @ Melbourne - VMware MVE to Megaport Internet', productType='VXC', provisioningStatus='DESIGN', nServiceId=null, rateLimit=10000, promoCode='null', dealUid='null', costCentre='null', deployDate=null, secondaryName=null, attributeTags={}, resourceTags=[], serviceLicense=null, addOns=null}}], associatedIxs=[], buyoutPort=false, crossConnectRequested=false, config=ConfigDto{mcrAsn=null, lag=null, lag_service_id=null, mcrVersion=null, bgpShutdownDefault=false, diverseFrom=null, diversityZone='red', customProperties={filename=}}, serviceLicence=null, addOns=null}]",
      "loginName": "Bryan Brown",
      "name": "New API Order",
      "personId": 50402,
      "userType": "USER"
    }
  ],
  "message": "Company activities",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Company Activity - Search on User Name
import requests

url = "https://api.megaport.com/v3/companyActivity"

response = requests.get(url)

print(response.json())
```

```javascript Company Activity - Search on User Name
const url = 'https://api.megaport.com/v3/companyActivity';
const options = {method: 'GET'};

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

```go Company Activity - Search on User Name
package main

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

func main() {

	url := "https://api.megaport.com/v3/companyActivity"

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

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

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

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

}
```

```ruby Company Activity - Search on User Name
require 'uri'
require 'net/http'

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

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

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

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

```java Company Activity - Search on User Name
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

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

```php Company Activity - Search on User Name
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

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

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

```csharp Company Activity - Search on User Name
using RestSharp;

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

```swift Company Activity - Search on User Name
import Foundation

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

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

dataTask.resume()
```

### Company Activity - Service Activity

**Response**

```json
{
  "data": [
    {
      "createDate": 1761889466641,
      "description": "New Order validated via API: buyoutPort: false, config.bgpShutdownDefault: false, config.diversityZone: 'blue', config.mcrVersion: 2, createDate: Fri Oct 31 15:44:17 AEST 2025, portSpeed: 50000, productName: '5G Networks MDC @ Melbourne - MCR2', productType: 'MCR2', productUid: '952fe950-b61c-11f0-9eec-653c5b5c32c0', provisioningStatus: 'DESIGN', term: 48",
      "loginName": "Jeff Brown",
      "name": "New API Order Validation",
      "personId": 50402,
      "userType": "USER"
    }
  ],
  "message": "Company activities",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Company Activity - Service Activity
import requests

url = "https://api.megaport.com/v3/companyActivity"

response = requests.get(url)

print(response.json())
```

```javascript Company Activity - Service Activity
const url = 'https://api.megaport.com/v3/companyActivity';
const options = {method: 'GET'};

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

```go Company Activity - Service Activity
package main

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

func main() {

	url := "https://api.megaport.com/v3/companyActivity"

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

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

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

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

}
```

```ruby Company Activity - Service Activity
require 'uri'
require 'net/http'

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

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

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

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

```java Company Activity - Service Activity
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

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

```php Company Activity - Service Activity
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

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

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

```csharp Company Activity - Service Activity
using RestSharp;

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

```swift Company Activity - Service Activity
import Foundation

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

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

dataTask.resume()
```

### Company Activity - User Type

**Response**

```json
{
  "data": [
    {
      "createDate": 1751002092704,
      "description": "Successful manual login",
      "loginName": "Cameron Eden",
      "name": "Login",
      "personId": 51397,
      "userType": "USER"
    },
    {
      "createDate": 1751001753677,
      "description": "Successful manual login",
      "loginName": "Cameron Eden",
      "name": "Login",
      "personId": 51397,
      "userType": "USER"
    },
    {
      "createDate": 1750995401053,
      "description": "Service [247301] updated with fields [name=Detroit to Tokyo - Cloud VXC, autoRenewTerm=true, rateLimit=10000, shutdown=false, aEndVlan=1075]",
      "loginName": "Bryan Brown",
      "name": "Service Updated",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995378148,
      "description": "Service [247301] updated with fields [name=Detroit to Tokyo - Cloud VXC, autoRenewTerm=true, rateLimit=10000, shutdown=false, aEndVlan=1075]",
      "loginName": "Bryan Brown",
      "name": "Service Updated",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995370666,
      "description": "Service [247301] updated with fields [name=Detroit to Tokyo - Cloud VXC, term=24, autoRenewTerm=true, rateLimit=10000, shutdown=false, aEndVlan=1075, aEndConfig={}, bEndConfig={bandwidth=10000, connectType=ALIBABA, resource_name=b_csp_connection, resource_type=csp_connection, account_id=5234561292937849, bandwidths=[50, 100, 200, 300, 400, 500, 1000, 2000, 5000, 8000, 10000], csp_name=Alibaba}]",
      "loginName": "Bryan Brown",
      "name": "Service Updated",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995370653,
      "description": "Product [d7f2b424-9c55-449b-aebd-4128913fe84c] changed to 24 months term.",
      "loginName": "Bryan Brown",
      "name": "Port Term Change Successful",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995299497,
      "description": "Packet Filter List created successfully with details: ['description': 'To HO', 'entries/0.action': 'deny', 'entries/0.description': '', 'entries/0.destinationAddress': '10.1.1.0/24', 'entries/0.sourceAddress': '10.1.1.0/24']",
      "loginName": "Bryan Brown",
      "name": "Packet Filter List Created",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995198500,
      "description": "Service [247300] updated with fields [name -> 5GN Melbourne Data Centre (MDC) @ Melbourne - MCR2, autoRenewTerm -> true, costCentre -> 45i67, rateLimit -> 10000, bgpShutdownDefault -> false]",
      "loginName": "Bryan Brown",
      "name": "Service Updated",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995195042,
      "description": "Tags were added or removed successfully.",
      "loginName": "Bryan Brown",
      "name": "Tags Updated",
      "personId": 50402,
      "userType": "USER"
    },
    {
      "createDate": 1750995171754,
      "description": "Service [247300] updated with fields [name -> 5GN Melbourne Data Centre (MDC) @ Melbourne - MCR2, term -> 24, autoRenewTerm -> true, costCentre -> 230, bgpShutdownDefault -> false]",
      "loginName": "Bryan Brown",
      "name": "Service Updated",
      "personId": 50402,
      "userType": "USER"
    }
  ],
  "message": "Company activities",
  "terms": "This data is subject to the Acceptable Use Policy https://www.megaport.com/legal/acceptable-use-policy"
}
```

**SDK Code**

```python Company Activity - User Type
import requests

url = "https://api.megaport.com/v3/companyActivity"

response = requests.get(url)

print(response.json())
```

```javascript Company Activity - User Type
const url = 'https://api.megaport.com/v3/companyActivity';
const options = {method: 'GET'};

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

```go Company Activity - User Type
package main

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

func main() {

	url := "https://api.megaport.com/v3/companyActivity"

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

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

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

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

}
```

```ruby Company Activity - User Type
require 'uri'
require 'net/http'

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

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

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

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

```java Company Activity - User Type
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

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

```php Company Activity - User Type
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

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

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

```csharp Company Activity - User Type
using RestSharp;

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

```swift Company Activity - User Type
import Foundation

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

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

dataTask.resume()
```