# Domain

A [domain](https://docs.trustgrid.io/docs/domain/) is a logical grouping of nodes within an organization, providing the namespace for virtual networks, DNS zones, and access policies. Requires `domains::read` permission.


## Retrieve domain configuration including security and network settings

 - [GET /domain/{domainName}](https://apidocs.trustgrid.io/domain/getdomain.md): Requires domains::read permission.

## Configure domain-wide alert thresholds and notification settings

 - [PUT /domain/{domainName}/config/alert](https://apidocs.trustgrid.io/domain/paths/~1domain~1%7Bdomainname%7D~1config~1alert/put.md): Requires domains::configure:thresholds permission.

## Configure domain-level API gateway settings and access policies

 - [PUT /domain/{domainName}/config/apigw](https://apidocs.trustgrid.io/domain/paths/~1domain~1%7Bdomainname%7D~1config~1apigw/put.md): Requires domains::configure:gateway permission.

## List virtual networks

 - [GET /v2/domain/{domainName}/network](https://apidocs.trustgrid.io/domain/listvirtualnetworks.md): Requires virtual-networks::read permission.

## Create a virtual network network

 - [POST /v2/domain/{domainName}/network](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network/post.md): Requires virtual-networks::modify permission.

## Delete a virtual network - this change is not staged and will immediately affect the domain

 - [DELETE /v2/domain/{domainName}/network/{networkName}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D/delete.md): Requires virtual-networks::modify permission.

## List a virtual network's access policies

 - [GET /v2/domain/{domainName}/network/{networkName}/access-policy](https://apidocs.trustgrid.io/domain/listnetworkaccesspolicies.md): Requires virtual-networks::read permission.

## Create a network access policy

 - [POST /v2/domain/{domainName}/network/{networkName}/access-policy](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1access-policy/post.md): Requires virtual-networks::modify permission.

## Delete a network access policy

 - [DELETE /v2/domain/{domainName}/network/{networkName}/access-policy/{accessPolicyID}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1access-policy~1%7Baccesspolicyid%7D/delete.md): Requires virtual-networks::modify permission.

## Update a network access policy

 - [PUT /v2/domain/{domainName}/network/{networkName}/access-policy/{accessPolicyID}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1access-policy~1%7Baccesspolicyid%7D/put.md): Requires virtual-networks::modify permission.

## List a network's auth groups

 - [GET /v2/domain/{domainName}/network/{networkName}/auth-group](https://apidocs.trustgrid.io/domain/listnetworkauthgroups.md): Requires virtual-networks::read permission.

## Create a network auth group

 - [POST /v2/domain/{domainName}/network/{networkName}/auth-group](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1auth-group/post.md): Requires virtual-networks::modify permission.

## Delete a network auth group

 - [DELETE /v2/domain/{domainName}/network/{networkName}/auth-group/{groupName}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1auth-group~1%7Bgroupname%7D/delete.md): Requires virtual-networks::modify permission.

## List a network auth group's members

 - [GET /v2/domain/{domainName}/network/{networkName}/auth-group/{groupName}](https://apidocs.trustgrid.io/domain/getnetworkauthgroup.md): Requires virtual-networks::read permission.

## Add a network auth group member

 - [POST /v2/domain/{domainName}/network/{networkName}/auth-group/{groupName}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1auth-group~1%7Bgroupname%7D/post.md): Requires virtual-networks::modify permission.

## Update a network auth group

 - [PUT /v2/domain/{domainName}/network/{networkName}/auth-group/{groupName}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1auth-group~1%7Bgroupname%7D/put.md): Requires virtual-networks::modify permission.

## Remove a network auth group member

 - [DELETE /v2/domain/{domainName}/network/{networkName}/auth-group/{groupName}/{memberID}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1auth-group~1%7Bgroupname%7D~1%7Bmemberid%7D/delete.md): Requires virtual-networks::modify permission.

## Update a membership

 - [PUT /v2/domain/{domainName}/network/{networkName}/auth-group/{groupName}/{memberID}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1auth-group~1%7Bgroupname%7D~1%7Bmemberid%7D/put.md): Requires virtual-networks::modify permission.

## List staged changes awaiting commit

 - [GET /v2/domain/{domainName}/network/{networkName}/change](https://apidocs.trustgrid.io/domain/listnetworkchanges.md): Returns staged (uncommitted) changes to the virtual network. Changes are staged before being committed via the change/commit endpoint. Requires virtual-networks::read permission.

## Commit staged changes

 - [POST /v2/domain/{domainName}/network/{networkName}/change/commit](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1change~1commit/post.md): Requires virtual-networks::modify permission.

## List validation errors for staged changes

 - [GET /v2/domain/{domainName}/network/{networkName}/change/validate](https://apidocs.trustgrid.io/domain/validatenetworkchanges.md): Requires virtual-networks::read permission.

## Revert a staged change. If the item is newly added and not committed, the item will be deleted along with any associated changes.

 - [DELETE /v2/domain/{domainName}/network/{networkName}/change/{changeID}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1change~1%7Bchangeid%7D/delete.md): Requires virtual-networks::modify permission.

## Get a network's DNS configuration

 - [GET /v2/domain/{domainName}/network/{networkName}/dns](https://apidocs.trustgrid.io/domain/getnetworkdns.md): Requires virtual-networks::read permission.

## Update a network's DNS configuration

 - [PUT /v2/domain/{domainName}/network/{networkName}/dns](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1dns/put.md): Requires virtual-networks::modify permission.

## List a network's DNS zones

 - [GET /v2/domain/{domainName}/network/{networkName}/dns-zone](https://apidocs.trustgrid.io/domain/listnetworkdnszones.md): Requires virtual-networks::read permission.

## Create a DNS zone

 - [POST /v2/domain/{domainName}/network/{networkName}/dns-zone](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1dns-zone/post.md): Requires virtual-networks::modify permission.

## Delete a DNS zone

 - [DELETE /v2/domain/{domainName}/network/{networkName}/dns-zone/{zoneName}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1dns-zone~1%7Bzonename%7D/delete.md): Requires virtual-networks::modify permission.

## Update a DNS zone

 - [PUT /v2/domain/{domainName}/network/{networkName}/dns-zone/{zoneName}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1dns-zone~1%7Bzonename%7D/put.md): Requires virtual-networks::modify permission.

## List a network zone's DNS records

 - [GET /v2/domain/{domainName}/network/{networkName}/dns-zone/{zoneName}/dns-record](https://apidocs.trustgrid.io/domain/listnetworkdnsrecords.md): Requires virtual-networks::read permission.

## Create a DNS record

 - [POST /v2/domain/{domainName}/network/{networkName}/dns-zone/{zoneName}/dns-record](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1dns-zone~1%7Bzonename%7D~1dns-record/post.md): Requires virtual-networks::modify permission.

## Delete a DNS record

 - [DELETE /v2/domain/{domainName}/network/{networkName}/dns-zone/{zoneName}/dns-record/{recordName}/{recordType}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1dns-zone~1%7Bzonename%7D~1dns-record~1%7Brecordname%7D~1%7Brecordtype%7D/delete.md): Requires virtual-networks::modify permission.

## Update a DNS record

 - [PUT /v2/domain/{domainName}/network/{networkName}/dns-zone/{zoneName}/dns-record/{recordName}/{recordType}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1dns-zone~1%7Bzonename%7D~1dns-record~1%7Brecordname%7D~1%7Brecordtype%7D/put.md): Requires virtual-networks::modify permission.

## List a network's groups

 - [GET /v2/domain/{domainName}/network/{networkName}/network-group](https://apidocs.trustgrid.io/domain/listnetworkgroups.md): Requires virtual-networks::read permission.

## Create a network group

 - [POST /v2/domain/{domainName}/network/{networkName}/network-group](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-group/post.md): Requires virtual-networks::modify permission.

## Delete a network group

 - [DELETE /v2/domain/{domainName}/network/{networkName}/network-group/{groupName}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-group~1%7Bgroupname%7D/delete.md): Requires virtual-networks::modify permission.

## List a network's group memberships

 - [GET /v2/domain/{domainName}/network/{networkName}/network-group/{groupName}](https://apidocs.trustgrid.io/domain/getnetworkgroup.md): Requires virtual-networks::read permission.

## Update a network group

 - [PUT /v2/domain/{domainName}/network/{networkName}/network-group/{groupName}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-group~1%7Bgroupname%7D/put.md): Requires virtual-networks::modify permission.

## Remove a network object from a network group

 - [DELETE /v2/domain/{domainName}/network/{networkName}/network-group/{groupName}/{objectName}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-group~1%7Bgroupname%7D~1%7Bobjectname%7D/delete.md): Requires virtual-networks::modify permission.

## Add a network object to a network group (represented by a network group membership

 - [POST /v2/domain/{domainName}/network/{networkName}/network-group/{groupName}/{objectName}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-group~1%7Bgroupname%7D~1%7Bobjectname%7D/post.md): Requires virtual-networks::modify permission.

## List a network's objects

 - [GET /v2/domain/{domainName}/network/{networkName}/network-object](https://apidocs.trustgrid.io/domain/listnetworkobjects.md): Requires virtual-networks::read permission.

## Create a network object

 - [POST /v2/domain/{domainName}/network/{networkName}/network-object](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-object/post.md): Requires virtual-networks::modify permission.

## Delete a network object

 - [DELETE /v2/domain/{domainName}/network/{networkName}/network-object/{objectName}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-object~1%7Bobjectname%7D/delete.md): Requires virtual-networks::modify permission.

## Update a network object

 - [PUT /v2/domain/{domainName}/network/{networkName}/network-object/{objectName}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-object~1%7Bobjectname%7D/put.md): Requires virtual-networks::modify permission.

## List a network's port forwardings

 - [GET /v2/domain/{domainName}/network/{networkName}/port-forwarding](https://apidocs.trustgrid.io/domain/listnetworkportforwardings.md): Requires virtual-networks::read permission.

## Create a port forwarding

 - [POST /v2/domain/{domainName}/network/{networkName}/port-forwarding](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1port-forwarding/post.md): Requires virtual-networks::modify permission.

## Get a port forwarding

 - [DELETE /v2/domain/{domainName}/network/{networkName}/port-forwarding/{portForwardingID}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1port-forwarding~1%7Bportforwardingid%7D/delete.md): Requires virtual-networks::read permission.

## Update a port forwarding

 - [PUT /v2/domain/{domainName}/network/{networkName}/port-forwarding/{portForwardingID}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1port-forwarding~1%7Bportforwardingid%7D/put.md): Requires virtual-networks::modify permission.

## List a network's routes

 - [GET /v2/domain/{domainName}/network/{networkName}/route](https://apidocs.trustgrid.io/domain/listnetworkroutes.md): Requires virtual-networks::read permission.

## Create a network route

 - [POST /v2/domain/{domainName}/network/{networkName}/route](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1route/post.md): Requires virtual-networks::modify permission.

## Delete a network route

 - [DELETE /v2/domain/{domainName}/network/{networkName}/route/{routeID}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1route~1%7Brouteid%7D/delete.md): Requires virtual-networks::modify permission.

## Update a network route

 - [PUT /v2/domain/{domainName}/network/{networkName}/route/{routeID}](https://apidocs.trustgrid.io/domain/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1route~1%7Brouteid%7D/put.md): Requires virtual-networks::modify permission.

## List virtual networks

 - [GET /v2/domain/{domainName}/network](https://apidocs.trustgrid.io/virtual-networks/listvirtualnetworks.md): Requires virtual-networks::read permission.

## Create a virtual network network

 - [POST /v2/domain/{domainName}/network](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network/post.md): Requires virtual-networks::modify permission.

## Delete a virtual network - this change is not staged and will immediately affect the domain

 - [DELETE /v2/domain/{domainName}/network/{networkName}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D/delete.md): Requires virtual-networks::modify permission.

## List a virtual network's access policies

 - [GET /v2/domain/{domainName}/network/{networkName}/access-policy](https://apidocs.trustgrid.io/virtual-networks/listnetworkaccesspolicies.md): Requires virtual-networks::read permission.

## Create a network access policy

 - [POST /v2/domain/{domainName}/network/{networkName}/access-policy](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1access-policy/post.md): Requires virtual-networks::modify permission.

## Delete a network access policy

 - [DELETE /v2/domain/{domainName}/network/{networkName}/access-policy/{accessPolicyID}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1access-policy~1%7Baccesspolicyid%7D/delete.md): Requires virtual-networks::modify permission.

## Update a network access policy

 - [PUT /v2/domain/{domainName}/network/{networkName}/access-policy/{accessPolicyID}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1access-policy~1%7Baccesspolicyid%7D/put.md): Requires virtual-networks::modify permission.

## List a network's auth groups

 - [GET /v2/domain/{domainName}/network/{networkName}/auth-group](https://apidocs.trustgrid.io/virtual-networks/listnetworkauthgroups.md): Requires virtual-networks::read permission.

## Create a network auth group

 - [POST /v2/domain/{domainName}/network/{networkName}/auth-group](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1auth-group/post.md): Requires virtual-networks::modify permission.

## Delete a network auth group

 - [DELETE /v2/domain/{domainName}/network/{networkName}/auth-group/{groupName}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1auth-group~1%7Bgroupname%7D/delete.md): Requires virtual-networks::modify permission.

## List a network auth group's members

 - [GET /v2/domain/{domainName}/network/{networkName}/auth-group/{groupName}](https://apidocs.trustgrid.io/virtual-networks/getnetworkauthgroup.md): Requires virtual-networks::read permission.

## Add a network auth group member

 - [POST /v2/domain/{domainName}/network/{networkName}/auth-group/{groupName}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1auth-group~1%7Bgroupname%7D/post.md): Requires virtual-networks::modify permission.

## Update a network auth group

 - [PUT /v2/domain/{domainName}/network/{networkName}/auth-group/{groupName}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1auth-group~1%7Bgroupname%7D/put.md): Requires virtual-networks::modify permission.

## Remove a network auth group member

 - [DELETE /v2/domain/{domainName}/network/{networkName}/auth-group/{groupName}/{memberID}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1auth-group~1%7Bgroupname%7D~1%7Bmemberid%7D/delete.md): Requires virtual-networks::modify permission.

## Update a membership

 - [PUT /v2/domain/{domainName}/network/{networkName}/auth-group/{groupName}/{memberID}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1auth-group~1%7Bgroupname%7D~1%7Bmemberid%7D/put.md): Requires virtual-networks::modify permission.

## List staged changes awaiting commit

 - [GET /v2/domain/{domainName}/network/{networkName}/change](https://apidocs.trustgrid.io/virtual-networks/listnetworkchanges.md): Returns staged (uncommitted) changes to the virtual network. Changes are staged before being committed via the change/commit endpoint. Requires virtual-networks::read permission.

## Commit staged changes

 - [POST /v2/domain/{domainName}/network/{networkName}/change/commit](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1change~1commit/post.md): Requires virtual-networks::modify permission.

## List validation errors for staged changes

 - [GET /v2/domain/{domainName}/network/{networkName}/change/validate](https://apidocs.trustgrid.io/virtual-networks/validatenetworkchanges.md): Requires virtual-networks::read permission.

## Revert a staged change. If the item is newly added and not committed, the item will be deleted along with any associated changes.

 - [DELETE /v2/domain/{domainName}/network/{networkName}/change/{changeID}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1change~1%7Bchangeid%7D/delete.md): Requires virtual-networks::modify permission.

## Get a network's DNS configuration

 - [GET /v2/domain/{domainName}/network/{networkName}/dns](https://apidocs.trustgrid.io/virtual-networks/getnetworkdns.md): Requires virtual-networks::read permission.

## Update a network's DNS configuration

 - [PUT /v2/domain/{domainName}/network/{networkName}/dns](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1dns/put.md): Requires virtual-networks::modify permission.

## List a network's DNS zones

 - [GET /v2/domain/{domainName}/network/{networkName}/dns-zone](https://apidocs.trustgrid.io/virtual-networks/listnetworkdnszones.md): Requires virtual-networks::read permission.

## Create a DNS zone

 - [POST /v2/domain/{domainName}/network/{networkName}/dns-zone](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1dns-zone/post.md): Requires virtual-networks::modify permission.

## Delete a DNS zone

 - [DELETE /v2/domain/{domainName}/network/{networkName}/dns-zone/{zoneName}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1dns-zone~1%7Bzonename%7D/delete.md): Requires virtual-networks::modify permission.

## Update a DNS zone

 - [PUT /v2/domain/{domainName}/network/{networkName}/dns-zone/{zoneName}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1dns-zone~1%7Bzonename%7D/put.md): Requires virtual-networks::modify permission.

## List a network zone's DNS records

 - [GET /v2/domain/{domainName}/network/{networkName}/dns-zone/{zoneName}/dns-record](https://apidocs.trustgrid.io/virtual-networks/listnetworkdnsrecords.md): Requires virtual-networks::read permission.

## Create a DNS record

 - [POST /v2/domain/{domainName}/network/{networkName}/dns-zone/{zoneName}/dns-record](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1dns-zone~1%7Bzonename%7D~1dns-record/post.md): Requires virtual-networks::modify permission.

## Delete a DNS record

 - [DELETE /v2/domain/{domainName}/network/{networkName}/dns-zone/{zoneName}/dns-record/{recordName}/{recordType}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1dns-zone~1%7Bzonename%7D~1dns-record~1%7Brecordname%7D~1%7Brecordtype%7D/delete.md): Requires virtual-networks::modify permission.

## Update a DNS record

 - [PUT /v2/domain/{domainName}/network/{networkName}/dns-zone/{zoneName}/dns-record/{recordName}/{recordType}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1dns-zone~1%7Bzonename%7D~1dns-record~1%7Brecordname%7D~1%7Brecordtype%7D/put.md): Requires virtual-networks::modify permission.

## List a network's groups

 - [GET /v2/domain/{domainName}/network/{networkName}/network-group](https://apidocs.trustgrid.io/virtual-networks/listnetworkgroups.md): Requires virtual-networks::read permission.

## Create a network group

 - [POST /v2/domain/{domainName}/network/{networkName}/network-group](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-group/post.md): Requires virtual-networks::modify permission.

## Delete a network group

 - [DELETE /v2/domain/{domainName}/network/{networkName}/network-group/{groupName}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-group~1%7Bgroupname%7D/delete.md): Requires virtual-networks::modify permission.

## List a network's group memberships

 - [GET /v2/domain/{domainName}/network/{networkName}/network-group/{groupName}](https://apidocs.trustgrid.io/virtual-networks/getnetworkgroup.md): Requires virtual-networks::read permission.

## Update a network group

 - [PUT /v2/domain/{domainName}/network/{networkName}/network-group/{groupName}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-group~1%7Bgroupname%7D/put.md): Requires virtual-networks::modify permission.

## Remove a network object from a network group

 - [DELETE /v2/domain/{domainName}/network/{networkName}/network-group/{groupName}/{objectName}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-group~1%7Bgroupname%7D~1%7Bobjectname%7D/delete.md): Requires virtual-networks::modify permission.

## Add a network object to a network group (represented by a network group membership

 - [POST /v2/domain/{domainName}/network/{networkName}/network-group/{groupName}/{objectName}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-group~1%7Bgroupname%7D~1%7Bobjectname%7D/post.md): Requires virtual-networks::modify permission.

## List a network's objects

 - [GET /v2/domain/{domainName}/network/{networkName}/network-object](https://apidocs.trustgrid.io/virtual-networks/listnetworkobjects.md): Requires virtual-networks::read permission.

## Create a network object

 - [POST /v2/domain/{domainName}/network/{networkName}/network-object](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-object/post.md): Requires virtual-networks::modify permission.

## Delete a network object

 - [DELETE /v2/domain/{domainName}/network/{networkName}/network-object/{objectName}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-object~1%7Bobjectname%7D/delete.md): Requires virtual-networks::modify permission.

## Update a network object

 - [PUT /v2/domain/{domainName}/network/{networkName}/network-object/{objectName}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-object~1%7Bobjectname%7D/put.md): Requires virtual-networks::modify permission.

## List a network's port forwardings

 - [GET /v2/domain/{domainName}/network/{networkName}/port-forwarding](https://apidocs.trustgrid.io/virtual-networks/listnetworkportforwardings.md): Requires virtual-networks::read permission.

## Create a port forwarding

 - [POST /v2/domain/{domainName}/network/{networkName}/port-forwarding](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1port-forwarding/post.md): Requires virtual-networks::modify permission.

## Get a port forwarding

 - [DELETE /v2/domain/{domainName}/network/{networkName}/port-forwarding/{portForwardingID}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1port-forwarding~1%7Bportforwardingid%7D/delete.md): Requires virtual-networks::read permission.

## Update a port forwarding

 - [PUT /v2/domain/{domainName}/network/{networkName}/port-forwarding/{portForwardingID}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1port-forwarding~1%7Bportforwardingid%7D/put.md): Requires virtual-networks::modify permission.

## List a network's routes

 - [GET /v2/domain/{domainName}/network/{networkName}/route](https://apidocs.trustgrid.io/virtual-networks/listnetworkroutes.md): Requires virtual-networks::read permission.

## Create a network route

 - [POST /v2/domain/{domainName}/network/{networkName}/route](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1route/post.md): Requires virtual-networks::modify permission.

## Delete a network route

 - [DELETE /v2/domain/{domainName}/network/{networkName}/route/{routeID}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1route~1%7Brouteid%7D/delete.md): Requires virtual-networks::modify permission.

## Update a network route

 - [PUT /v2/domain/{domainName}/network/{networkName}/route/{routeID}](https://apidocs.trustgrid.io/virtual-networks/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1route~1%7Brouteid%7D/put.md): Requires virtual-networks::modify permission.

## List a virtual network's access policies

 - [GET /v2/domain/{domainName}/network/{networkName}/access-policy](https://apidocs.trustgrid.io/access-policy/listnetworkaccesspolicies.md): Requires virtual-networks::read permission.

## Create a network access policy

 - [POST /v2/domain/{domainName}/network/{networkName}/access-policy](https://apidocs.trustgrid.io/access-policy/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1access-policy/post.md): Requires virtual-networks::modify permission.

## Delete a network access policy

 - [DELETE /v2/domain/{domainName}/network/{networkName}/access-policy/{accessPolicyID}](https://apidocs.trustgrid.io/access-policy/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1access-policy~1%7Baccesspolicyid%7D/delete.md): Requires virtual-networks::modify permission.

## Update a network access policy

 - [PUT /v2/domain/{domainName}/network/{networkName}/access-policy/{accessPolicyID}](https://apidocs.trustgrid.io/access-policy/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1access-policy~1%7Baccesspolicyid%7D/put.md): Requires virtual-networks::modify permission.

## List staged changes awaiting commit

 - [GET /v2/domain/{domainName}/network/{networkName}/change](https://apidocs.trustgrid.io/change-management/listnetworkchanges.md): Returns staged (uncommitted) changes to the virtual network. Changes are staged before being committed via the change/commit endpoint. Requires virtual-networks::read permission.

## Commit staged changes

 - [POST /v2/domain/{domainName}/network/{networkName}/change/commit](https://apidocs.trustgrid.io/change-management/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1change~1commit/post.md): Requires virtual-networks::modify permission.

## List validation errors for staged changes

 - [GET /v2/domain/{domainName}/network/{networkName}/change/validate](https://apidocs.trustgrid.io/change-management/validatenetworkchanges.md): Requires virtual-networks::read permission.

## Revert a staged change. If the item is newly added and not committed, the item will be deleted along with any associated changes.

 - [DELETE /v2/domain/{domainName}/network/{networkName}/change/{changeID}](https://apidocs.trustgrid.io/change-management/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1change~1%7Bchangeid%7D/delete.md): Requires virtual-networks::modify permission.

## Get a network's DNS configuration

 - [GET /v2/domain/{domainName}/network/{networkName}/dns](https://apidocs.trustgrid.io/dns/getnetworkdns.md): Requires virtual-networks::read permission.

## Update a network's DNS configuration

 - [PUT /v2/domain/{domainName}/network/{networkName}/dns](https://apidocs.trustgrid.io/dns/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1dns/put.md): Requires virtual-networks::modify permission.

## List a network's DNS zones

 - [GET /v2/domain/{domainName}/network/{networkName}/dns-zone](https://apidocs.trustgrid.io/dns-zone/listnetworkdnszones.md): Requires virtual-networks::read permission.

## Create a DNS zone

 - [POST /v2/domain/{domainName}/network/{networkName}/dns-zone](https://apidocs.trustgrid.io/dns-zone/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1dns-zone/post.md): Requires virtual-networks::modify permission.

## Delete a DNS zone

 - [DELETE /v2/domain/{domainName}/network/{networkName}/dns-zone/{zoneName}](https://apidocs.trustgrid.io/dns-zone/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1dns-zone~1%7Bzonename%7D/delete.md): Requires virtual-networks::modify permission.

## Update a DNS zone

 - [PUT /v2/domain/{domainName}/network/{networkName}/dns-zone/{zoneName}](https://apidocs.trustgrid.io/dns-zone/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1dns-zone~1%7Bzonename%7D/put.md): Requires virtual-networks::modify permission.

## List a network zone's DNS records

 - [GET /v2/domain/{domainName}/network/{networkName}/dns-zone/{zoneName}/dns-record](https://apidocs.trustgrid.io/dns-record/listnetworkdnsrecords.md): Requires virtual-networks::read permission.

## Create a DNS record

 - [POST /v2/domain/{domainName}/network/{networkName}/dns-zone/{zoneName}/dns-record](https://apidocs.trustgrid.io/dns-record/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1dns-zone~1%7Bzonename%7D~1dns-record/post.md): Requires virtual-networks::modify permission.

## Delete a DNS record

 - [DELETE /v2/domain/{domainName}/network/{networkName}/dns-zone/{zoneName}/dns-record/{recordName}/{recordType}](https://apidocs.trustgrid.io/dns-record/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1dns-zone~1%7Bzonename%7D~1dns-record~1%7Brecordname%7D~1%7Brecordtype%7D/delete.md): Requires virtual-networks::modify permission.

## Update a DNS record

 - [PUT /v2/domain/{domainName}/network/{networkName}/dns-zone/{zoneName}/dns-record/{recordName}/{recordType}](https://apidocs.trustgrid.io/dns-record/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1dns-zone~1%7Bzonename%7D~1dns-record~1%7Brecordname%7D~1%7Brecordtype%7D/put.md): Requires virtual-networks::modify permission.

## List a network's groups

 - [GET /v2/domain/{domainName}/network/{networkName}/network-group](https://apidocs.trustgrid.io/network-group/listnetworkgroups.md): Requires virtual-networks::read permission.

## Create a network group

 - [POST /v2/domain/{domainName}/network/{networkName}/network-group](https://apidocs.trustgrid.io/network-group/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-group/post.md): Requires virtual-networks::modify permission.

## Delete a network group

 - [DELETE /v2/domain/{domainName}/network/{networkName}/network-group/{groupName}](https://apidocs.trustgrid.io/network-group/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-group~1%7Bgroupname%7D/delete.md): Requires virtual-networks::modify permission.

## List a network's group memberships

 - [GET /v2/domain/{domainName}/network/{networkName}/network-group/{groupName}](https://apidocs.trustgrid.io/network-group/getnetworkgroup.md): Requires virtual-networks::read permission.

## Update a network group

 - [PUT /v2/domain/{domainName}/network/{networkName}/network-group/{groupName}](https://apidocs.trustgrid.io/network-group/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-group~1%7Bgroupname%7D/put.md): Requires virtual-networks::modify permission.

## Remove a network object from a network group

 - [DELETE /v2/domain/{domainName}/network/{networkName}/network-group/{groupName}/{objectName}](https://apidocs.trustgrid.io/network-group/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-group~1%7Bgroupname%7D~1%7Bobjectname%7D/delete.md): Requires virtual-networks::modify permission.

## Add a network object to a network group (represented by a network group membership

 - [POST /v2/domain/{domainName}/network/{networkName}/network-group/{groupName}/{objectName}](https://apidocs.trustgrid.io/network-group/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-group~1%7Bgroupname%7D~1%7Bobjectname%7D/post.md): Requires virtual-networks::modify permission.

## List a network's objects

 - [GET /v2/domain/{domainName}/network/{networkName}/network-object](https://apidocs.trustgrid.io/network-object/listnetworkobjects.md): Requires virtual-networks::read permission.

## Create a network object

 - [POST /v2/domain/{domainName}/network/{networkName}/network-object](https://apidocs.trustgrid.io/network-object/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-object/post.md): Requires virtual-networks::modify permission.

## Delete a network object

 - [DELETE /v2/domain/{domainName}/network/{networkName}/network-object/{objectName}](https://apidocs.trustgrid.io/network-object/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-object~1%7Bobjectname%7D/delete.md): Requires virtual-networks::modify permission.

## Update a network object

 - [PUT /v2/domain/{domainName}/network/{networkName}/network-object/{objectName}](https://apidocs.trustgrid.io/network-object/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1network-object~1%7Bobjectname%7D/put.md): Requires virtual-networks::modify permission.

## List a network's port forwardings

 - [GET /v2/domain/{domainName}/network/{networkName}/port-forwarding](https://apidocs.trustgrid.io/port-forwarding/listnetworkportforwardings.md): Requires virtual-networks::read permission.

## Create a port forwarding

 - [POST /v2/domain/{domainName}/network/{networkName}/port-forwarding](https://apidocs.trustgrid.io/port-forwarding/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1port-forwarding/post.md): Requires virtual-networks::modify permission.

## Get a port forwarding

 - [DELETE /v2/domain/{domainName}/network/{networkName}/port-forwarding/{portForwardingID}](https://apidocs.trustgrid.io/port-forwarding/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1port-forwarding~1%7Bportforwardingid%7D/delete.md): Requires virtual-networks::read permission.

## Update a port forwarding

 - [PUT /v2/domain/{domainName}/network/{networkName}/port-forwarding/{portForwardingID}](https://apidocs.trustgrid.io/port-forwarding/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1port-forwarding~1%7Bportforwardingid%7D/put.md): Requires virtual-networks::modify permission.

## List a network's routes

 - [GET /v2/domain/{domainName}/network/{networkName}/route](https://apidocs.trustgrid.io/route/listnetworkroutes.md): Requires virtual-networks::read permission.

## Create a network route

 - [POST /v2/domain/{domainName}/network/{networkName}/route](https://apidocs.trustgrid.io/route/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1route/post.md): Requires virtual-networks::modify permission.

## Delete a network route

 - [DELETE /v2/domain/{domainName}/network/{networkName}/route/{routeID}](https://apidocs.trustgrid.io/route/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1route~1%7Brouteid%7D/delete.md): Requires virtual-networks::modify permission.

## Update a network route

 - [PUT /v2/domain/{domainName}/network/{networkName}/route/{routeID}](https://apidocs.trustgrid.io/route/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1route~1%7Brouteid%7D/put.md): Requires virtual-networks::modify permission.

## List a network's auth groups

 - [GET /v2/domain/{domainName}/network/{networkName}/auth-group](https://apidocs.trustgrid.io/auth-group/listnetworkauthgroups.md): Requires virtual-networks::read permission.

## Create a network auth group

 - [POST /v2/domain/{domainName}/network/{networkName}/auth-group](https://apidocs.trustgrid.io/auth-group/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1auth-group/post.md): Requires virtual-networks::modify permission.

## Delete a network auth group

 - [DELETE /v2/domain/{domainName}/network/{networkName}/auth-group/{groupName}](https://apidocs.trustgrid.io/auth-group/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1auth-group~1%7Bgroupname%7D/delete.md): Requires virtual-networks::modify permission.

## List a network auth group's members

 - [GET /v2/domain/{domainName}/network/{networkName}/auth-group/{groupName}](https://apidocs.trustgrid.io/auth-group/getnetworkauthgroup.md): Requires virtual-networks::read permission.

## Add a network auth group member

 - [POST /v2/domain/{domainName}/network/{networkName}/auth-group/{groupName}](https://apidocs.trustgrid.io/auth-group/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1auth-group~1%7Bgroupname%7D/post.md): Requires virtual-networks::modify permission.

## Update a network auth group

 - [PUT /v2/domain/{domainName}/network/{networkName}/auth-group/{groupName}](https://apidocs.trustgrid.io/auth-group/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1auth-group~1%7Bgroupname%7D/put.md): Requires virtual-networks::modify permission.

## Remove a network auth group member

 - [DELETE /v2/domain/{domainName}/network/{networkName}/auth-group/{groupName}/{memberID}](https://apidocs.trustgrid.io/auth-group/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1auth-group~1%7Bgroupname%7D~1%7Bmemberid%7D/delete.md): Requires virtual-networks::modify permission.

## Update a membership

 - [PUT /v2/domain/{domainName}/network/{networkName}/auth-group/{groupName}/{memberID}](https://apidocs.trustgrid.io/auth-group/paths/~1v2~1domain~1%7Bdomainname%7D~1network~1%7Bnetworkname%7D~1auth-group~1%7Bgroupname%7D~1%7Bmemberid%7D/put.md): Requires virtual-networks::modify permission.

