Events

The Events resource represents the Passbridge event stream. The event stream current exposes data control events such as device quota overages and cut-offs.

APIDescription
GET v1/integration/events?count={count}

Get a list of events for this integration from Passbridge

DELETE v1/integration/events/{eventid}

Delete an event for this integration from Passbridge

Integration

The Integration resource represents the collection of resources related to an integration with a given partner. Integrations are provisioned out of band by Asavie in collaboration with a partner.
All ApiAccount created by a partner are stored within the Integration. Each Product defined for an Integration are also stored within the Integration.

APIDescription
GET v1/integration/accounts

Returns all the ApiAccount with the Integration

GET v1/integration/products

Returns a list of the valid products for the current Integration. A product represents a specific configuration of and Asavie network along with any parameters that are required to do the configuration. Depending on requirement Asavie can create custom Products for an Integration that have all the required defaults in place so that no parameters are required to be passed in

AccountNetwork

The AccountNetwork resource represents a single Asavie software defined network within an ApiAcccount. An Asavie network represents a single data controlled private network that can have its member devices' traffic routed to Agents or the internet. This is the core entity within the Asavie cloud.
The AccountNetwork needs to be given a unique name within the ApiAccount

APIDescription
GET v1/accounts/{foreignaccountkey}/networks

Get all the AccountNetworks in the Account.

GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}

Get the AccountNetwork.

POST v1/accounts/{foreignaccountkey}/networks

Create a new AccountNetwork in the ApiAccount. Each AccountNetwork must have a unique foreignkey, otherwise a failure result with a 409 error code is returned. There are several key properties in the AccountNetwork:- 'ForeignKey' - this is unique string for the AccountNetwork 'BillingCycleDay' - this is critical to align the Data controls with the customers billing cycle

Note that is endpoint returns a 202 code as the requests is queued. A status url is returned in the return meta-data that can be used to poll the status of this request. When the AccountNetwork is created successfully on the Asavie cloud it's Status property will be set as 'complete'

PATCH v1/accounts/{foreignaccountkey}/networks/{foreignkey}

Update the AccountNetwork. A typical use is to set the user name for the Asavie Network. This is especially important in the context of the Moda application which require Asavie network credentials to access it.

DELETE v1/accounts/{foreignaccountkey}/networks/{foreignkey}

No documentation available.

GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/product

Retrieve the current AccountNetwork product. The product defines the configuration and behaviour of the Asavie network. For example, selecting a data control product would created network in which all the connected devices would have data controlled access to the internet via the Asavie cloud.

POST v1/accounts/{foreignaccountkey}/networks/{foreignkey}/product

Set the AccountNetwork product. The product defines the configuration and behaviour of the Asavie network. For example, selecting a data control product would created network in which all the connected devices would have data controlled access to the internet via the Asavie cloud.

PATCH v1/accounts/{foreignaccountkey}/networks/{foreignkey}/product

Update the Product settings for an AccountNetwork. A typical use is to change one of the properties such as a quota alert

PUT v1/accounts/{foreignaccountkey}/networks/{foreignkey}/firewall

Set the a firewall for the AccountNetwork. The rules are specified as standard cisco firewall format

GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/firewall

Get the a firewall for AccountNetwork. The rules are specified as standard cisco firewall format

CloudConnector

The Cloud Connector resource represent all the Cloud controls for the account. The Connector has 3 main resources
1. Vault: Used to securely store cloud service credentials 2. Endpoint. Used to define all the details requires to proxy to a given cloud service 3. Group. Defines a list of Endpoints. Devices which membership to a group can access any Endpoints in that group

APIDescription
GET v1/accounts/{foreignaccountkey}/cloudconnector/endpoints

Returns all the cloud endpoints defined on this account

POST v1/accounts/{foreignaccountkey}/cloudconnector/endpoints

Create a new cloud control endpoint. An Endpoint contains all the information necessary to proxy data from a device to a cloud service. This includes the cloud service host and any credentials required to communicate with the host

GET v1/accounts/{foreignaccountkey}/cloudconnector/endpoints/{endpointname}

Returns the Endpoint defined on this account with the supplied name

PATCH v1/accounts/{foreignaccountkey}/cloudconnector/endpoints/{endpointname}

Update the cloud control Endpoint.
Note that is endpoint returns a 202 code as the request is queued. A status url is returned in the return meta-data that can be used to poll the status of this request. When the Endpoint is updated successfully on the Asavie platform it's Status property will be set as 'complete'

DELETE v1/accounts/{foreignaccountkey}/cloudconnector/endpoints/{endpointname}

Delete the cloud control Endpoint.
Note that is endpoint returns a 202 code as the request is queued. A status url is returned in the return meta-data that can be used to poll the status of this request. When the Endpoint is deleted successfully on the Asavie network it's Status property will be set as 'complete'

GET v1/accounts/{foreignaccountkey}/cloudconnector/groups

Returns all the cloud groups defined on this account

POST v1/accounts/{foreignaccountkey}/cloudconnector/groups

Create a new cloud control group

GET v1/accounts/{foreignaccountkey}/cloudconnector/groups/{groupname}

Returns the groups defined on this api account with the supplied group name

PATCH v1/accounts/{foreignaccountkey}/cloudconnector/groups/{groupname}

Update the cloud control group.
Note that is endpoint returns a 202 code as the request is queued. A status url is returned in the return meta-data that can be used to poll the status of this request. When the Group is updated successfully on the Asavie platorm it's Status property will be set as 'complete'

DELETE v1/accounts/{foreignaccountkey}/cloudconnector/groups/{groupname}

Delete the cloud control group. Note if a group has members then the delete request will return a 403 forbidden.
Note that is endpoint returns a 202 code as the request is queued. A status url is returned in the return meta-data that can be used to poll the status of this request. When the Group is deleted successfully on the Asavie network it's Status property will be set as 'complete'

POST v1/accounts/{foreignaccountkey}/cloudconnector/vaults

Create a new cloud control vault. The vault tis used to securely store cloud service credentials. This are used by the cloud connector to proxy data from the devices to the cloud service.

GET v1/accounts/{foreignaccountkey}/cloudconnector/vaults

Get all cloud control vaults. This will only return the names of the vaults that exist. To extract the contents the vaults need to be retrieved individually.

GET v1/accounts/{foreignaccountkey}/cloudconnector/vaults/{vaultname}?secret={secret}

Get a cloud control vault

DELETE v1/accounts/{foreignaccountkey}/cloudconnector/vaults/{vaultname}

Delete a cloud control vault

Sim

The SIM resource represents a single hardware SIM card in an ApiAcccount. The SIM provides a mechanism to manage the SIM estate, allowing the SIM state to be changed on the radio access network. The provisioning platform has the necessary plug-ins to drive the underlying sim management apis.
The SIM is not automatically associated with and Asavie network. It is up to the API user to create and manage APN devices for the corresponding SIM. Once the SIM has a corresponding APN device on an AccoutNetwork than that SIM can take advantage of all the features of the Asavie Cloud

APIDescription
GET v1/accounts/{foreignaccountkey}/hardware/sims

Returns all the SIMs for an Api Account

GET v1/accounts/{foreignaccountkey}/hardware/sims/{rawcli}

Returns a SIM for an Api Account

POST v1/accounts/{foreignaccountkey}/hardware/sims/{rawcli}/action

No documentation available.

POST v1/accounts/{foreignaccountkey}/hardware/sims

Create a new SIM on the ApiAccount. Each SIM must have a unique CLI, otherwise a failure result with a 409 error code is returned.

Note that is endpoint returns a 202 code as the request is queued. A status url is returned in the return meta-data that can be used to poll the status of this request. When the SIM is created successfully it's Status property will be set as 'complete'

PATCH v1/accounts/{foreignaccountkey}/hardware/sims/{rawcli}

Update a SIM device on the ApiAccount. This is primarily used to changes the SIM's state on the radio network.

Note that is endpoint returns a 202 code as the request is queued. A status url is returned in the return meta-data that can be used to poll the status of this request.

DELETE v1/accounts/{foreignaccountkey}/hardware/sims/{rawcli}

Deletes a SIM from the Api Account

Note that is endpoint returns a 202 code as the request is queued. A status url is returned in the return meta-data that can be used to poll the status of this request.

Account

The Account resource respresents a single Api Account. There is one Account per logical customer on the api user's side. The key property is the 'ForeignAccountKey'. This links this Account to the api user's account on their side. It may for example be the Salesforce Id of one of their customers for which they want to provide Asavie services to.

An Account is a container for 1 or more Asavie Networks. An Asavie Network represents a single security context, one logical network. Devices cannot interact between 2 networks and can only belong 1 network.

APIDescription
GET v1/accounts

Returns all the ApiAccount with the Integration

GET v1/accounts/{foreignaccountkey}

Get the Api Account for the foreignaccountkey supplied

POST v1/accounts

Create a new Api Account. Each account must have a unique ForeignAccountKey, otherwise a failure result with a 409 error code is returned.

PATCH v1/accounts/{foreignaccountkey}

Update the Account. Primarily for updating the ForeignAttributes which may be required by the backend plugins to drive 3rd party apis such as GDSP, SalesForce etc.

DELETE v1/accounts/{foreignaccountkey}

Delete the Account. This action is irreversible!

Logs

APIDescription
GET v1/accounts/{foreignaccountkey}/logs?actorKey={actorKey}&actorType={actorType}&src={src}

Returns the logs for a given account, actor type and key.

Agents

The Agent resource represents a single software vCPE (virtual Consumer Premises Equipment) on an Asavie network. An agent a critical component for any Asavie network that provides connectivity to a user's LAN. An Asavie network can has 1 or more Agents.
If the Asavie network is just providing controlled internet access then an Agent is not required as the connectivity is supplied via the Asavie Cloud.

APIDescription
GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/agents?refresh={refresh}

Returns all the Agents for a particular network on the Account

GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/agents/{agentid}?refresh={refresh}

Returns an Agent for a particular network on the Account

POST v1/accounts/{foreignaccountkey}/networks/{foreignkey}/agents

Create a new Agent on the network. Each Agent must have a unique AgentName, otherwise a failure result with a 409 error code is returned. A key property of the Agent is the InstallKey. This must be used during Agent software installation to security bind the Agent to the correct network in the Asavie Cloud. The InstallKey is one of the values that is populated once the creation request is processed from the queue.

Note that is endpoint returns a 202 code as the requests is Q'd. A status url is returned in the return metadata that can be used to poll the status of this request. When the Agent is created successfully on the Asavie network it's Status property will be set as 'complete'

PATCH v1/accounts/{foreignaccountkey}/networks/{foreignkey}/agents/{agentid}

Update the Agent. A typical use here is to enable of disable the Agent. Disabling the Agent stops all traffic from the Asavie Cloud flowing into the user's LAN.

DELETE v1/accounts/{foreignaccountkey}/networks/{foreignkey}/agents/{agentid}

Delete the Agent

Batch

The Batch resources represents a collection of calls to the API. It allows for an arbitrary number individual calls to be grouped and tracked as a single entity.
This is primarily used to control when notifications are sent.

APIDescription
POST v1/batches

Creates a new Batch. The Batch cotains a Naame and Description as well as optional properties such as the AppTag and Parameters that allow custom data to be sent to eh Api platform backend which can then take specific actions based on that data.
The pattern to be followed is to first create a batch, send any Api commands and finally update the Batch, marking it's Status as 'defined'. The Batch status can be queried by getting the Batch based on its unique Id.

PUT v1/batches/{batchid}

Updates the Batch. This is used primarly to update the Status to 'defined'. This is used to indicate that eh contents of the batch is now complete.

GET v1/batches/{batchid}

Returns a Batch based on its unique Id.

POST v1/batches/{batchid}/actions/notifications

Create an action to be triggered on Batch completion. The only supported action currently is to trigger a notification message.

IOTDevice

The IOT device resource represents a single IP over TLS based device. Once the IOT device is registered on an Asavie network it can then connect to it and route traffic securely to an Agent on the network or route in a policy controlled fashion out to the internet (depending on the configuration of the Asavie network.
An IOT device is registered on an Asavie network by adding it to the desired network with the devices unique id (usually MAC address)

APIDescription
GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/iots?refresh={refresh}

Returns all the IOT devices for a particular network on the Account

GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/iots/{deviceid}

Returns an IOT device for a particular network on the Account

POST v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/iots

Create a new IOT device on the network. Each IOT device must have a unique id (usually it's MAC address), otherwise a failure result with a 409 error code is returned.
To maximize ease of use if this is the first call to be seen from an Api user, then the AccountNetwork and Api Account resources are automatically created for the user.

Note that is endpoint returns a 202 code as the request is queued. A status url is returned in the return meta-data that can be used to poll the status of this request. When the IOT device is created successfully on the Asavie network it's Status property will be set as 'complete'

PATCH v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/iots/{deviceid}

Update the IOT device. A typical use here is to enable of disable the IOT device. Disabling the IOT device stops the device connecting to the Asavie cloud.

Note that is endpoint returns a 202 code as the request is queued. A status url is returned in the return meta-data that can be used to poll the status of this request.

DELETE v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/iots/{deviceid}

Delete the IOT device.

Note that is endpoint returns a 202 code as the request is queued. A status url is returned in the return meta-data that can be used to poll the status of this request.

PUT v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/iots/{deviceid}/datacontrolgroup

Set the Data Control Group for this individual device. The set of groups is available via ..

GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/iots/{deviceid}/datacontrolgroup

Get the Data Control Group name for this individual device.

GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/iots/{deviceid}/cloudconnectorgroup

Get the CloudConnector Group name for this individual device.

PUT v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/iots/{deviceid}/cloudconnectorgroup

Set the Cloud Control Group for this individual device.

DELETE v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/iots/{deviceid}/cloudconnectorgroup

No documentation available.

GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/iots/{deviceid}/cloudconnectorcredential

Get the Cloud Control Credentials for this individual device.
This allows the cloud connector group level credentials to be overridden if required.

DELETE v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/iots/{deviceid}/cloudconnectorcredential

Delete the Cloud Control Credentials for this individual device.
This allows the cloud connector group level credentials to be overridden if required.

APNDevice

The APN device resource represents a single sim based device with the Asavie APN configured on it. Once the APN device is registered on an Asavie network it can then connect to it and route traffic securely to an Agent on the network or route in a policy controlled fashion out to the internet (depending on the configuration of the Asavie network.
An APN device is registered on an Asavie network by adding it to the desired netowrk with a unique CLI

APIDescription
GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/apns?refresh={refresh}

Returns all the APN devices for a particular network on the Account

GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/apns/{rawcli}?refresh={refresh}

Returns an APN device for a particular network on the Account

POST v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/apns

Create a new APN device on the network. Each APN device must have a unique CLI, otherwise a failure result with a 409 error code is returned.
To maximize ease of use if this is the first call to be seen from an Api user, then the AccountNetwork and Api Account resources are automatically created for the user.

Note that is endpoint returns a 202 code as the request is queued. A status url is returned in the return meta-data that can be used to poll the status of this request. When the APN device is created successfully on the Asavie network it's Status property will be set as 'complete'

PATCH v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/apns/{rawcli}

Update the APN device. A typical use here is to enable of disable the APN device. Disabling the APN device stops the device connecting to the Asavie cloud.

Note that is endpoint returns a 202 code as the request is queued. A status url is returned in the return meta-data that can be used to poll the status of this request.

DELETE v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/apns/{rawcli}

Delete the APN device.
Note that is endpoint returns a 202 code as the request is queued. A status url is returned in the return meta-data that can be used to poll the status of this request.

PUT v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/apns/{rawcli}/datacontrolgroup

Set the Data Control Group for this individual device. The set of groups is available via ..

PUT v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/apns/{rawcli}/cloudconnectorgroup

Set the Cloud Control Group for this individual device.

PUT v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/apns/{rawcli}/cloudconnectorcredential

Set the Cloud Control Credentials for this individual device.
This allows the cloud connector group level credentials to be overridden if required.

GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/apns/{rawcli}/cloudconnectorcredential

Get the Cloud Control Credentials for this individual device.
This allows the cloud connector group level credentials to be overridden if required.

DELETE v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/apns/{rawcli}/cloudconnectorcredential

Delete the Cloud Control Credentials for this individual device.
This allows the cloud connector group level credentials to be overridden if required.

DELETE v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/apns/{rawcli}/cloudconnectorgroup

No documentation available.

GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/apns/{rawcli}/cloudconnectorgroup

Get the CloudConnector Group name for this individual device.

GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/devices/apns/{rawcli}/datacontrolgroup

Get the Data Control Group name for this individual device.

IntegrationLevelSubscription

APIDescription
GET v1/integration/subscriptions

Returns all the Subscriptions

POST v1/integration/subscriptions

Create a new Api Subscription.

PATCH v1/integration/subscriptions

Updates the Subscription.

DELETE v1/integration/subscriptions

Delete the Subscription. This action is irreversible!

Help

APIDescription
GET v1/authtoken/about

Returns details of the currently authenticated credentials. This can be used to verify that the correct credentials are being used

Utils

APIDescription
GET v1/version

Returns the current version of the API

Analytics

The Analytics resource represents the set of analytics data available for a given account network.
These are the list of reports available:
- clientsessions: returns the raw session data for the given time period. data can be filtered, sorted and paged. - datausage: returns the total data usage for the given time period, eventually grouped in hour, day, week, month time buckets - datausage/topdevices: returns the list of the devices with the highest (or lowest) data usage - datausage/topgroups: returns the list of the groups with the highest (or lowest) data usage - datausage/topzones: returns the list of the zones with the highest (or lowest) data usage

APIDescription
GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/analytics/clientsessions?from={from}&to={to}&timeZoneOffset={timeZoneOffset}

This resource returns the raw session data for the given time period

The properties returned can be as follows:-
DeviceName: a string with a textual name for the device the session is attached to
CLI: a string with a unique identifier for the device - e.g. its MSISDN
StartTime: the UTC time the session started
EndTime: the UTC time the session ended
SessionEndCause: the reason the session terminated - one of:AccountingStop,AdminClear,UserDisabled,UserDeleted,DeviceDisabled,DeviceDeleted,SessionExpired,NewLogin,AuthentFailed,AuthorizeRejected,ASDiscoveryFailed,AccountDisabled,AccountDeleted,QuotaCutoffExceeded
DataTx: bytes transmitted during the session
DataRx: bytes received during the session
MCC: Mobile country code the device connected from (if an APN based device and if the data is available)
MNC: Mobile carrier code the device connected over (if an APN device and if the data is available)
RestrictionCause: Indicates if a data control restriction has been placed on the device (only applicable if data controls are enabled and being used)
RestrictionTime: The time the device was restricted
DataAccessGroup: The data access group the device belongs to (only applicable if data controls are enabled)
Zone:The zone (defined by a set of MCC,MNC pairs) the device connected in (only applicable if data controls are enabled)

AccountLevelSubscription

APIDescription
GET v1/accounts/{foreignaccountkey}/subscriptions

Returns all the Subscriptions

POST v1/accounts/{foreignaccountkey}/subscriptions

Create a new Api Subscription.

PATCH v1/accounts/{foreignaccountkey}/subscriptions

/// Updates the Subscription.

DELETE v1/accounts/{foreignaccountkey}/subscriptions

Delete the Subscription. This action is irreversible!

DataControl

The Data Control resource represent all the data control features on given network. Data control for APN and IOT devices is managed on a group and Zone basis.
A group can contain 1 or more APN or IOT devices. The data control policy is specified at the group level. All mebers of the group have the policies applied to them
A zone defines a geogrpahic region that devices operate within. For APN devices a zone is defined by a list of MCC & MNC pairs. Data control policy is applied to a device based on the group it is a member of and the zone it is currently located in.

The Data Control policy for a given group and zone combination specifies
1) The quota limits - a restriction quota and a cutoff quota 2) A normal policy to be applied if the device is under the restriction quota set 3) A restriction policy to be applied if the device hits the restriction quota set

The normal and restriction policy specify
1) The data access rate to be applied 2) The ACL to be applied 3) THe Domain filtering policy to be applied

APIDescription
GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/datacontrol/groups

Returns all the data access groups defined on this network

POST v1/accounts/{foreignaccountkey}/networks/{foreignkey}/datacontrol/groups

Create a new data control group on the network. The group name can then be used to set membership for APNDevices by setting their DataControlGroup property
The Group has the following properties:-
1) ApnNetworkBlackList. This can hold a list of MCC & MNC pairs from which devices belonging to thsi group caqnnot connect
2) DefaultAccessPolicy. This contains the default access policy to be applied toa device
3) TimeofDayPolicy. This can contains a list of times when devices may not connect. By default devices can connect at anytime.
4) LinkedDomainFilterPloicy. This can contain the name of a Domain filter policy to be applied be default.
5) DefaultZone. This specifies the name of a zone to use when a device's MCC & MNC pair are not part of any predefined zone.
6) UnknownZone. This specifies the name of a zone to use when a device presents no MCC & MNC pair at session start.
Note that is endpoint returns a 202 code as the request is queued. A status url is returned in the return meta-data that can be used to poll the status of this request. When the Group is created successfully on the Asavie network it's Status property will be set as 'complete'

GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/datacontrol/groups/{groupname}

Returns the data access groups defined on this network with the supplied group name

PATCH v1/accounts/{foreignaccountkey}/networks/{foreignkey}/datacontrol/groups/{groupname}

Update the data control group.
Note that is endpoint returns a 202 code as the request is queued. A status url is returned in the return meta-data that can be used to poll the status of this request. When the Group is updated successfully on the Asavie network it's Status property will be set as 'complete'

DELETE v1/accounts/{foreignaccountkey}/networks/{foreignkey}/datacontrol/groups/{groupname}

Delete the data control group. Note if a group has members then the delete request will return a 403 forbidden.
Note that is endpoint returns a 202 code as the request is queued. A status url is returned in the return meta-data that can be used to poll the status of this request. When the Group is deleted successfully on the Asavie network it's Status property will be set as 'complete'

GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/datacontrol/groups/{groupname}/apnpolicies

Returns all the APN Policies defined on this network for this group. An APN Policy is set for each Zone defined on the network.

POST v1/accounts/{foreignaccountkey}/networks/{foreignkey}/datacontrol/groups/{groupname}/apnpolicies

Create a new APN Policy on this network and in this group.
The APN Policy has the following properties:-
1) Zone. The zone the policy applies to.
2) Quota. The quota policy for devices operatin in this Zone.
2) UnderQuotaPolicy. The access policy to apply when the device is under its restriction quota.
3) OverQuotaPolicy. he access policy to apply when the device goes over its restriction quota.

Note: the quota policy contains the following properties:-
1) CutOfAt. The data usage total in bytes at which the device will be cut off (in real time)
2) RestrictAt. The data usage total in bytes at which the device will go into restricted/over quota mode
3) SharedRestrictAt. The data usage total for the group at which the all devices will be restricted
4) Cycle. The cycle at which the data usage counterse are reset - monthyl, weekly, daily

Note: the access policies contain the following properties
1) AccessRate. The data rate in bytes/sec that the device can operate at. 0 = unrestricted
2) UpstreamFirewall: the ACL rules for traffic rom the device. Uusally its suffiient to set this as the appropriate downstream ACL is auto-generated
3) Downstream Firewall: the ACL rules for traffic to the device

GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/datacontrol/groups/{groupname}/apnpolicies/{zonename}

Returns the APN Policy defined on this network for this group and specified zonename

PATCH v1/accounts/{foreignaccountkey}/networks/{foreignkey}/datacontrol/groups/{groupname}/apnpolicies/{zonename}

Update the APN Policy defined on this network for this group and specified zonename

DELETE v1/accounts/{foreignaccountkey}/networks/{foreignkey}/datacontrol/groups/{groupname}/apnpolicies/{zonename}

Delete the APN Policy defined on this network for this group and specified zonename

GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/datacontrol/zones/apnzones

Returns all the APN Zones defined on this network for this group. An APN Zone is a list of MCC & MNC pairs that define a geographic region. When a device establishes a session from within the zone the APN Policy for that Zon and the Group the device is a member of is applied to the session.

POST v1/accounts/{foreignaccountkey}/networks/{foreignkey}/datacontrol/zones/apnzones

Create a new APN Zone on this network.
The APN Zone has the following properties:-
1) Name. The unique name for this zone. Zones are references by this name.
2) ApnNetworkList. The list of MCC (mobile country code) & MNC (mobile network code) pairs

GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/datacontrol/zones/apnzones/{zonename}

Returns the APN Zone defined on this network with the specified zonename

PATCH v1/accounts/{foreignaccountkey}/networks/{foreignkey}/datacontrol/zones/apnzones/{zonename}

Update the APN Zone defined on this network with the specified zonename

DELETE v1/accounts/{foreignaccountkey}/networks/{foreignkey}/datacontrol/zones/apnzones/{zonename}

Delete the APN Zone defined on this network with the specified zonename. Note: if the Zone is in use, i.e. has a policy defined on it and is associated witha group that has members then the delete will fail/

GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/datacontrol/domainfiltering/policies

Returns all the Domain Filtering Policies defined on this network. A Domain Filtering Policy defines a set of rules that are applied to the internet domains that devices attempt to access.
The rules can be simple suffix based or regular expression based or also based on the category of the domain. The category of the domain is determined by a categorisation engine. A typical category might be 'social media', 'gambling', 'sports' etc.
The rules and allow or deny trafffic based on the domain filter applied.

POST v1/accounts/{foreignaccountkey}/networks/{foreignkey}/datacontrol/domainfiltering/policies

Create a new Domain Filtering Policy on this network.
The Domain Filtering Policy has the following properties:-
1) Name. The unique name for this policy. Domain Filtering Policies are references by this name.
2) DefaultAction. THe is either allow or deny. This is the action thats applied if none of the filters match
3) WhitlList. This is the 1st filter. A list of domains that are allowed. The domain can be specified by exact match, suffix or regualr expression
4) Blacklist. This is the 2st filter. A list of domains that are disallowed. The domain can be specified by exact match, suffix or regualr expression
5) CategoryRules. This is the 3rd filter. A list of Category rule, eaction containied an allow/deny action and a list of doamin categories to look for

GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/datacontrol/domainfiltering/policies/{policyname}

Returns the Domain Filtering Policy defined on this network with the specified policy name

PATCH v1/accounts/{foreignaccountkey}/networks/{foreignkey}/datacontrol/domainfiltering/policies/{policyname}

Update the Domain Filtering Policy defined on this network with the specified policy name

DELETE v1/accounts/{foreignaccountkey}/networks/{foreignkey}/datacontrol/domainfiltering/policies/{policyname}

Delete the Domain Filtering Policy defined on this network with the specified policy name

Routes

The Route resource represents a network route on an Asavie network. There are several types of route including:-
Static: routes added by the Api user that are particular to their network needs Blackhole: routes that are to be 'balckholed' i.e. terminated with no endpoint Rip: these are routes that are populated in by other routing deevices on the network
An Route is registered on an Asavie network by adding it to the desired network with a unique Id

APIDescription
GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/routes

Returns all the Route for a particular network on the Account

GET v1/accounts/{foreignaccountkey}/networks/{foreignkey}/routes/{routeid}

Returns an Route for a particular network on the Account

POST v1/accounts/{foreignaccountkey}/networks/{foreignkey}/routes

Create a new Route on the network. Each Route must have a unique Id, otherwise a failure result with a 409 error code is returned.

Note that is endpoint returns a 202 code as the requests is Q'd. A status url is returned in the return metadata that can be used to poll the status of this request. When the Route is created successfully on the Asavie network it's Status property will be set as 'complete'

DELETE v1/accounts/{foreignaccountkey}/networks/{foreignkey}/routes/{routeid}

Delete the Route

AccountCredentials

The Account Credentials controller represents all the credentials that have been created for the given account. It allow credentials to be created, updated, retrieved and deleted based on the callers permissions.

If the caller has an account level role they will only see credentials they created themselves integration level roles have access to all account level credentials

APIDescription
GET v1/accounts/{foreignaccountkey}/credentials

Returns all the Credentials that give access to this account. The list returned depends on the callers role.

GET v1/accounts/{foreignaccountkey}/credentials/{apiclientid}

Returns the requested credential.

POST v1/accounts/{foreignaccountkey}/credentials

Creates a new set of credentials that give access to this api account. An api secret is generated and returned as part of new credential object.
Note: POSTed Scope, ScopeRef and Integration values are ignored and set by the system,.

PATCH v1/accounts/{foreignaccountkey}/credentials/{apiclientid}

Updates an existing credential

DELETE v1/accounts/{foreignaccountkey}/credentials/{apiclientid}

Deletes a credential