Simple Connect API (1.0.1)

Download OpenAPI specification:Download

For authorization of all API requests you must send headers including your API Access Application ID as X-API-Client-ID and your API token as X-API-Token.

Note: Our product naming has changed, but in order to provide a stable API for our users the endpoints still reflect the old naming conventions. For example, many Airwall endpoints will use a path containing 'hipservice' and may expect a 'hipservice_id' these terms refer to the Airwall and the related Airwall ID.

Alert Notifications

bulk_destroy

Delete multiple alerts by ID, level, or both

Request Body schema: application/json

An array of ID strings

alert_ids
object (alert_ids)
level
string

Delete all alerts of a specified level (valid: all, info, warning, error)

Responses

200

Success

422

Unprocessable Entity

delete /alerts
http://localhost/api/v1/alerts

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "alert_ids":
    [
    ],
  • "level": "warning"
}

index

Returns a paginated list of alerts

query Parameters
limit
integer <int32>

limit

offset
integer <int32>

offset

order
string

order

ascending
boolean

ascending

filter
string
Enum: "pending" "acknowledged" "info" "warning" "error"

Filter alerts based on state

search_term
string

Filter alerts based on the search term

Responses

200

Success

422

Unprocessable Entity

get /alerts
http://localhost/api/v1/alerts

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    [
    ],
  • "metadata":
    {
    }
}

bulk_acknowledge

Acknowledge that you have seen multiple alerts

Request Body schema: application/json

An array of ID strings

alert_ids
required
Array of strings

An array of ID strings

Responses

200

Success

404

Not Found

422

Unprocessable Entity

post /alerts/acknowledge
http://localhost/api/v1/alerts/acknowledge

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "alert_ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    }
]

destroy

Delete an existing alert

path Parameters
id
required
string

Responses

200

Success

422

Unprocessable Entity

delete /alerts/{id}
http://localhost/api/v1/alerts/{id}

show

Returns a single alert

path Parameters
id
required
string

Responses

200

Success

404

Not Found

422

Unprocessable Entity

get /alerts/{id}
http://localhost/api/v1/alerts/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "acknowledged_at": "2018-08-29T22:25:57.767Z",
  • "acknowledged_by": "Local Administrator",
  • "comment": null,
  • "created_at": "2018-08-29T20:02:58.605Z",
  • "event_action_id": null,
  • "id": "bc50db3b-bb3d-4db2-a404-5a511c36228b",
  • "level": "info",
  • "message": "Airwall 'test-airwall-2' has gone back offline after being online.\n<div>\n <span class='label label-success'>\n Offline at: 2018-08-29 20:02:58 UTC\n </span>\n <span class='label label-warning indented-sm'>\n Online since: 2018-08-29 18:55:38 UTC\n </span>\n</div>\n",
  • "monitorable_id": null,
  • "monitorable_name": "test-airwall-2",
  • "monitorable_type": null,
  • "person_id": "b45d4567-1234-def7-abc1-1234567d58f2",
  • "subject": "Airwall has gone back offline"
}

acknowledge

Acknowledge that you have seen and optionally leave a comment for an alert

path Parameters
id
required
string
Request Body schema: application/json

Comment that will be seen by all people who have received this alert

string

Responses

200

Success

404

Not Found

422

Unprocessable Entity

post /alerts/{id}/acknowledge
http://localhost/api/v1/alerts/{id}/acknowledge

Request samples

Content type
application/json
Copy
Expand all Collapse all
"This alert is acknowledged"

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "acknowledged_at": "2018-08-29T22:25:57.767Z",
  • "acknowledged_by": "Local Administrator",
  • "comment": null,
  • "created_at": "2018-08-29T20:02:58.605Z",
  • "event_action_id": null,
  • "id": "bc50db3b-bb3d-4db2-a404-5a511c36228b",
  • "level": "info",
  • "message": "Airwall 'test-airwall-2' has gone back offline after being online.\n<div>\n <span class='label label-success'>\n Offline at: 2018-08-29 20:02:58 UTC\n </span>\n <span class='label label-warning indented-sm'>\n Online since: 2018-08-29 18:55:38 UTC\n </span>\n</div>\n",
  • "monitorable_id": null,
  • "monitorable_name": "test-airwall-2",
  • "monitorable_type": null,
  • "person_id": "b45d4567-1234-def7-abc1-1234567d58f2",
  • "subject": "Airwall has gone back offline"
}

Backups

Get database backup

Returns the most recent database backup

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

get /backups
http://localhost/api/v1/backups

Response samples

Content type
application/json
Copy
Expand all Collapse all
"string"

Create new database backup

Starts a job to create a database backup

Responses

202

Accepted

400

Bad Request

403

Forbidden

post /backups
http://localhost/api/v1/backups

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

Restore database backup

Starts a job to restore a database backup

Request Body schema: multipart/form-data
backup
required
string <binary>

Responses

202

Accepted

400

Bad Request

403

Forbidden

422

Unprocessable Entity

post /backups/restore
http://localhost/api/v1/backups/restore

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

Cloud Providers

provider_index

Returns a list of cloud provider credentials

Responses

200

Ok

400

Bad Request

get /cloud_providers
http://localhost/api/v1/cloud_providers

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    },
  • {
    }
]

provider_create

Create a new cloud provider

Request Body schema: application/json
default_region
required
string

[AWS, Azure, Google] Default Region

aws_access_key
string

[AWS] Access Key

aws_secret_key
string

[AWS] Secret Key

client_id
string

[Azure] Application ID

tenant_id
string

[Azure] Tenant ID

subscription_id
string

[Azure] Subscription ID

client_secret_key
string

[Azure] Application Key

private_key
string

[Google] Private Key

client_email
string

[Google] Client Email

google_project
string

[Google] Project ID

enable_route_injection
string

[AWS, Azure, Google] Route injection option (Optional)

provider_id
required
string

[AWS, Azure, Google] Provider ID

Responses

201

Created

400

Bad Request

403

Forbidden

422

Unprocessable Entity

post /cloud_providers
http://localhost/api/v1/cloud_providers

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "creds":
    {
    },
  • "provider_id": "aws"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "fbb60952-99fd-4e6a-9259-e816407ed3e0",
  • "uuid": "fbb60952-99fd-4e6a-9259-e816407ed3e0",
  • "provider_id": "aws",
  • "creds":
    {
    }
}

provider_show

Returns a cloud provider

path Parameters
providerId
required
string

Cloud Provider ID

Responses

200

Ok

404

Not Found

get /cloud_providers/{providerId}
http://localhost/api/v1/cloud_providers/{providerId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "4c527289-e551-45c3-96aa-5750854aacd8",
  • "uuid": "4c527289-e551-45c3-96aa-5750854aacd8",
  • "provider_id": "aws",
  • "creds":
    {
    }
}

provider_update

Update the existing cloud provider credential (All fields are optional)

path Parameters
providerId
required
string

Cloud Provider ID

Request Body schema: application/json
default_region
string

[AWS, Azure, Google] Default Region

aws_access_key
string

[AWS] Access Key

aws_secret_key
string

[AWS] Secret Key

client_id
string

[Azure] Application ID

tenant_id
string

[Azure] Tenant ID

subscription_id
string

[Azure] Subscription ID

client_secret_key
string

[Azure] Application Key

private_key
string

[Google] Private Key

client_email
string

[Google] Client Email

google_project
string

[Google] Project ID

enable_route_injection
string

[AWS, Azure, Google] Route injection option (Optional)

Responses

200

Ok

400

Bad Request

403

Forbidden

404

Not Found

patch /cloud_providers/{providerId}
http://localhost/api/v1/cloud_providers/{providerId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "creds":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "4c527289-e551-45c3-96aa-5750854aacd8",
  • "uuid": "4c527289-e551-45c3-96aa-5750854aacd8",
  • "provider_id": "aws",
  • "creds":
    {
    }
}

provider_destroy

Delete an existing cloud provider credential

path Parameters
providerId
required
string

Cloud Provider ID

Responses

200

Ok

403

Forbidden

404

Not Found

delete /cloud_providers/{providerId}
http://localhost/api/v1/cloud_providers/{providerId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
null

region_index

Starts a job to get a list of regions. Use GET /jobs/{id} to get the actual response.

path Parameters
providerId
required
string

Cloud Provider ID

Responses

202

Accepted

403

Forbidden

404

Not Found

get /cloud_providers/{providerId}/regions
http://localhost/api/v1/cloud_providers/{providerId}/regions

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "regions":
    [
    ],
  • "status": "complete"
}

region_show

Starts a job to get a region. Use GET /jobs/{id} to get the actual response.

path Parameters
providerId
required
string

Cloud Provider Id

regionId
required
string

Region Id

Responses

202

Accepted

403

Forbidden

404

Not Found

get /cloud_providers/{providerId}/regions/{regionId}
http://localhost/api/v1/cloud_providers/{providerId}/regions/{regionId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "regions":
    {
    },
  • "status": "complete"
}

availability_zone_index

Starts a job to get a list of availability zones. Use GET /jobs/{id} to get the actual response.

path Parameters
providerId
required
string

Cloud Provider ID

query Parameters
region
string

Availability Zone List: /api/v1/cloud_providers/aws/availability_zones?region=us-west-1

Responses

202

Accepted

403

Forbidden

404

Not Found

get /cloud_providers/{providerId}/availability_zones
http://localhost/api/v1/cloud_providers/{providerId}/availability_zones

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "availability_zones":
    [
    ],
  • "status": "complete"
}

availability_zone_show

Starts a job to get a availability zone. Use GET /jobs/{id} to get the actual response.

path Parameters
providerId
required
string

Cloud Provider Id

zoneId
required
string

Availability Zone Id

query Parameters
region
string

Availability Zone Get: /api/v1/cloud_providers/aws/availability_zones/us-west-1b?region=us-west-1

Responses

202

Accepted

403

Forbidden

404

Not Found

get /cloud_providers/{providerId}/availability_zones/{zoneId}
http://localhost/api/v1/cloud_providers/{providerId}/availability_zones/{zoneId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "availability_zone":
    {
    },
  • "status": "complete"
}

network_index_show

Starts a job to get a list of networks or a single network. Use GET /jobs/{id} to get the actual response.

path Parameters
providerId
required
string

Cloud Provider ID

query Parameters
region
string

Network List: /api/v1/cloud_providers/aws/networks?region=us-west-1

network_id
string

Network Get: /api/v1/cloud_providers/aws/networks?region=us-west-1&network_id=vpc-1234abcde12345678

Responses

202

Accepted

403

Forbidden

404

Not Found

get /cloud_providers/{providerId}/networks
http://localhost/api/v1/cloud_providers/{providerId}/networks

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "networks":
    [
    ],
  • "status": "complete"
}

network_create

Starts a job to create a new network. Use GET /jobs/{id} to get the actual response.

path Parameters
providerId
required
string

Cloud Provider ID

Request Body schema: application/json

Create a new network

type
string

[AWS, Azure, Google] Network Type

name
required
string

[AWS, Azure, Google] Network Name

network_cidr
string

[AWS, Azure] Network CIDR

subnet_public_cidr
required
string

[AWS, Azure, Google] Public Subnet CIDR

subnet_private_cidr
string

[AWS, Azure, Google] Protected Subnet CIDR

region
string

[Google] Network Region

zone
string

[AWS] Network Subnet Availability Zone

Responses

202

Accepted

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /cloud_providers/{providerId}/networks
http://localhost/api/v1/cloud_providers/{providerId}/networks

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "test-network",
  • "network_cidr": "172.25.0.0/16",
  • "subnet_public_cidr": "172.25.1.0/24",
  • "subnet_private_cidr": "172.25.2.0/24",
  • "region": "us-west-1",
  • "zone": "us-west-1b"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "messages":
    [
    ],
  • "status": "complete"
}

network_subnet_index_show

Starts a job to get a list of subnets or a single subnet. Use GET /jobs/{id} to get the actual response.

path Parameters
providerId
required
string

Cloud Provider ID

query Parameters
region
string

Network Region

network_id
string

Subnet List: /api/v1/cloud_providers/aws/networks/subnets?region=us-west-1&network_id=vpc-1234abcde12345678

subnet_id
string

Subnet Get: /api/v1/cloud_providers/aws/networks/subnets?region=us-west-1&network_id=vpc-1234abcde12345678&subnet_id=subnet-11110000aaaa67891

Responses

202

Accepted

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /cloud_providers/{providerId}/networks/subnets
http://localhost/api/v1/cloud_providers/{providerId}/networks/subnets

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "subnets":
    [
    ],
  • "status": "complete"
}

network_router_index_show

Starts a job to get a list of routers or a single router. Use GET /jobs/{id} to get the actual response.

path Parameters
providerId
required
string

Cloud Provider ID

query Parameters
region
string

Network Region

network_id
string

Router List (network_id is required for router list): /api/v1/cloud_providers/aws/networks/routers?region=us-west-1&network_id=vpc-1234abcde12345678

router_id
string

Router Get (router_id is required for router get): /api/v1/cloud_providers/aws/networks/routers?region=us-west-1&router_id=rtb-11110000aaaa67891

Responses

202

Accepted

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /cloud_providers/{providerId}/networks/routers
http://localhost/api/v1/cloud_providers/{providerId}/networks/routers

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "routers":
    [
    ],
  • "status": "complete"
}

network_route_index_show

Starts a job to get a list of routes in route table. Use GET /jobs/{id} to get the actual response.

path Parameters
providerId
required
string

Cloud Provider ID

query Parameters
region
string

Network Region

router_id
string

Route List: /api/v1/cloud_providers/aws/networks/routes?region=us-west-1&router_id=rtb-11110000aaaa67891

subnet_id
string

Route List (subnet_id is only required in Google): /api/v1/cloud_providers/aws/networks/routes?region=us-central1&router_id=rtb-11110000aaaa67891&subnet_id=test-net-pro-sub-uc1

Responses

202

Accepted

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /cloud_providers/{providerId}/networks/routes
http://localhost/api/v1/cloud_providers/{providerId}/networks/routes

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "routes":
    [
    ],
  • "status": "complete"
}

security_group_index_show

Starts a job to get a list of security groups or a single security group. Use GET /jobs/{id} to get the actual response.
Supported query parameters for security group list:
AWS:
region=us-west-1&level=interface&instance_id=i-00000000abcd12345
Azure:
region=westus&level=interface&instance_id=tn-azure-hs/tn-azure-hsVm
region=westus&level=subnet&instance_id=tn-azure-hs/tn-azure-hsVm
Google:
region=us-central1&level=interface&instance_id=tn-google-hs-vm
region=us-central1&level=network&instance_id=tn-google-hs-vm
region=us-central1&level=account&instance_id=tn-google-hs-vm

path Parameters
providerId
required
string

Cloud Provider ID

query Parameters
region
string

Network Region

level
string

Security Group List (level is required for security group list): /api/v1/cloud_providers/aws/security_groups?region=us-west-1&level=interface&instance_id=i-00000000abcd12345

instance_id
string

Security Group List (instance_id is required for security group list): /api/v1/cloud_providers/aws/security_groups?level=interface&instance_id=i-00000000abcd12345

security_group_id
string

Security Group Get (security_group_id is required for security group get): /api/v1/cloud_providers/aws/security_groups?region=us-west-1&security_group_id=sg-00000000000000000

Responses

202

Accepted

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /cloud_providers/{providerId}/security_groups
http://localhost/api/v1/cloud_providers/{providerId}/security_groups

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "security_groups":
    [
    ],
  • "status": "complete"
}

image_index_show

Starts a job to get a list of images or a single image. Use GET /jobs/{id} to get the actual response.
List Airwall images:
/api/v1/cloud_providers/aws/images?region=us-west-1
List Ubuntu images:
/api/v1/cloud_providers/aws/images?region=us-west-1&os_id=ubuntu
List CentOS images:
/api/v1/cloud_providers/aws/images?region=us-west-1&os_id=centos
Get an image:
/api/v1/cloud_providers/aws/images?region=us-west-1&image_id=ami-00000000000000000

path Parameters
providerId
required
string

Cloud Provider ID

query Parameters
region
string

Image List: /api/v1/cloud_providers/aws/images?region=us-west-1

os_id
string

Image List: /api/v1/cloud_providers/aws/images?region=us-west-1&os_id=ubuntu

image_id
string

Image Get: /api/v1/cloud_providers/aws/images?region=us-west-1&image_id=ami-00000000000000000

Responses

202

Accepted

403

Forbidden

404

Not Found

get /cloud_providers/{providerId}/images
http://localhost/api/v1/cloud_providers/{providerId}/images

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "images":
    [
    ],
  • "status": "complete"
}

operating_system_index_show

Starts a job to get a list of cloud instance operating systems or a single cloud instance operating system. Use GET /jobs/{id} to get the actual response.

path Parameters
providerId
required
string

Cloud Provider ID

query Parameters
os_id
string

Operating System Get: /api/v1/cloud_providers/aws/operating_systems?os_id=ubuntu Operating System List: /api/v1/cloud_providers/aws/operating_systems

Responses

202

Accepted

403

Forbidden

404

Not Found

get /cloud_providers/{providerId}/operating_systems
http://localhost/api/v1/cloud_providers/{providerId}/operating_systems

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "operating_systems":
    [
    ],
  • "status": "complete"
}

package_index_show

Starts a job to get a list of packages or a single package. Use GET /jobs/{id} to get the actual response.

path Parameters
providerId
required
string

Cloud Provider ID

query Parameters
os_id
required
string

Package List: /api/v1/cloud_providers/aws/packages?os_id=ubuntu

package_id
string

Package Get: /api/v1/cloud_providers/aws/packages?package_id=hipserver_2.2.1-226_amd64.deb&os_id=ubuntu

Responses

202

Accepted

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /cloud_providers/{providerId}/packages
http://localhost/api/v1/cloud_providers/{providerId}/packages

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "packages":
    [
    ],
  • "status": "complete"
}

keypair_index_show

Starts a job to get a list of keypairs or a single keypair. Use GET /jobs/{id} to get the actual response.

path Parameters
providerId
required
string

Cloud Provider ID

query Parameters
region
string

Keypair List: /api/v1/cloud_providers/aws/keypairs?region=us-west-1

keypair_id
string

Keypair Get: /api/v1/cloud_providers/aws/keypairs?region=us-west-1&keypair_id=mykeypair

Responses

202

Accepted

403

Forbidden

404

Not Found

get /cloud_providers/{providerId}/keypairs
http://localhost/api/v1/cloud_providers/{providerId}/keypairs

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "keypairs":
    [
    ],
  • "status": "complete"
}

flavor_index

Starts a job to get a list of flavors. Use GET /jobs/{id} to get the actual response.

path Parameters
providerId
required
string

Cloud Provider ID

query Parameters
region
string

Flavor List: /api/v1/cloud_providers/aws/flavors?region=us-west-1

Responses

202

Accepted

403

Forbidden

404

Not Found

get /cloud_providers/{providerId}/flavors
http://localhost/api/v1/cloud_providers/{providerId}/flavors

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "flavors":
    [
    ],
  • "status": "complete"
}

flavor_show

Starts a job to get a flavor. Use GET /jobs/{id} to get the actual response.

path Parameters
providerId
required
string

Cloud Provider Id

flavorId
required
string

Flavor Id

query Parameters
region
string

Flavor Get: /api/v1/cloud_providers/aws/flavors/t2.medium?region=us-west-1

Responses

202

Accepted

403

Forbidden

404

Not Found

get /cloud_providers/{providerId}/flavors/{flavorId}
http://localhost/api/v1/cloud_providers/{providerId}/flavors/{flavorId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "flavor":
    {
    },
  • "status": "complete"
}

hipservice_create

Starts a job to create a new cloud HIPservice. Use GET /jobs/{id} to get the actual response.
Example) Airwall server

  {
    "name": "test-hipserver-ubuntu",
    "type": "hipserver",
    "network_vpc",: "vpc-1234abcde12345678",
    "subnet_public": "subnet-11110000aaaa67891",
    "image_id": "ami-0dbf5ea29a7fc7e05",
    "machine_type": "t2.medium",
    "default_region": "us-west-1",
    "conductor_url": "conductor.example.com",
    "key_name": "demokeypair",
    "package_url": "'https://temperedsoftware.s3.amazonaws.com/servers'",
    "package_name": "airwall-ubuntu16_2.2.3-latest_amd64.deb",
    "activation_code": "",
    "custom_apps": ""
  }  
path Parameters
providerId
required
string

Cloud Provider ID

Request Body schema: application/json

Create a new cloud Airwall

type
string

[HIPswitch, HIPserver][AWS, Azure, Google] HIPservice Type ('hipswitch' or 'hipserver')

name
required
string

[HIPswitch, HIPserver][AWS, Azure, Google] HIPservice Name

network_vpc
string

[HIPswitch, HIPserver][AWS, Google] Network ID for AWS and Public Network ID for Google

network_vpc_2
string

[HIPswitch][Google] Protected Network ID

subnet_public
required
string

[HIPswitch, HIPserver][AWS, Azure, Google] Public Subnet ID

subnet_private
required
string

[HIPswitch][AWS, Azure, Google] Protected Subnet ID

image_id
required
string

[HIPswitch, HIPserver][AWS, Azure, Google] Image ID

machine_type
required
string

[HIPswitch, HIPserver][AWS, Azure, Google] Machine Type

conductor_url
required
string

[HIPswitch, HIPserver][AWS, Azure, Google] Conductor IP

default_region
required
string

[HIPswitch, HIPserver][AWS, Azure, Google] Default Region

availability_zone
string

[HIPswitch, HIPserver][Google] Instance Zone

key_name
string

[HIPserver][AWS] Keypair Name

admin_username
string

[HIPserver][Azure] VM admin username

admin_password
string

[HIPserver][Azure] VM admin password

ssh_username
string

[HIPserver][Google] VM ssh key username

ssh_key_data
string

[HIPserver][Google] VM ssh key data

package_url
string

[HIPserver][AWS, Azure, Google] HIPserver package url

package_name
string

[HIPserver][AWS, Azure, Google] HIPserver package name

activation_code
string

[HIPserver][AWS, Azure, Google] HIPserver activation code

custom_apps
string

[HIPserver][AWS, Azure, Google] HIPserver custom apps

Responses

202

Accepted

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /cloud_providers/{providerId}/hipservices
http://localhost/api/v1/cloud_providers/{providerId}/hipservices

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "test-hipswitch",
  • "network_vpc": "vpc-1234abcde12345678",
  • "subnet_public": "subnet-11110000aaaa67891",
  • "subnet_private": "subnet-01230000aaaa12345",
  • "image_id": "ami-cccc12345678bbbb0",
  • "machine_type": "t2.medium",
  • "conductor_url": "conductor.example.com",
  • "default_region": "us-west-1"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "messages":
    [
    ],
  • "status": "complete"
}

hipservice_index

Returns a list of cloud Airwalls.

path Parameters
providerId
required
string

Cloud Provider ID

Responses

200

Ok

403

Forbidden

404

Not Found

get /cloud_providers/{providerId}/hipservices
http://localhost/api/v1/cloud_providers/{providerId}/hipservices

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

hipservice_show

Returns a single cloud Airwall.

path Parameters
providerId
required
string

Cloud Provider ID

hipserviceId
required
string

Cloud Airwall ID

Responses

200

Ok

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /cloud_providers/{providerId}/hipservices/{hipserviceId}
http://localhost/api/v1/cloud_providers/{providerId}/hipservices/{hipserviceId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "id": "a0000410-864c-4119-a933-32789f922608",
  • "uuid": "a0000410-864c-4119-a933-32789f922608",
  • "type": "HIPswitch",
  • "description": null,
  • "location": null,
  • "active": false,
  • "connected": false,
  • "uid": "BHI@40130#EC2123ABC123",
  • "underlay_ip": "172.21.1.179",
  • "unassigned": true,
  • "model": "Airwall-300v",
  • "serial_number": "EC2123ABC123",
  • "firmware_revision": "Airwall-x86_64_r2.2.0-311",
  • "factory_reset_at": null,
  • "managed": true,
  • "firmware_install_at": "2019-06-03T15:26:35.000Z",
  • "device_activity_reporting_interval": 300,
  • "hit": "2001:11:1234:abcd:1234:abcd:abcd:1234",
  • "lsi": "1.2.3.4",
  • "tagged_by": [ ],
  • "local_devices": [ ],
  • "can_edit": true,
  • "offline_at": "2019-06-12T23:52:33.597Z",
  • "online_at": "2019-06-03T15:26:47.148Z",
  • "packet_capture_started_at": null,
  • "diagnostic_requested_at": null,
  • "support_bundle_requested_at": null,
  • "ha_compatible": false,
  • "ha_available": false,
  • "remote_session": null,
  • "capabilities":
    [
    ],
  • "version": "2.2.0",
  • "title": "aws-hs1",
  • "traffic_stats_interval": 300,
  • "relay_probe_interval": 30,
  • "tunnel_stats_interval": 0,
  • "peer_autoconnect_interval": 0,
  • "esp_encryption": "system",
  • "esp_compress": "system",
  • "product_model": "ISA-300v",
  • "product_platform": "300v-103",
  • "network_list": [ ],
  • "enabled": true,
  • "communication_disabled_through_groups": [ ],
  • "hotfix_list": [ ],
  • "underlay_ip_nat": "",
  • "relay": false,
  • "max_ft_bandwidth": null,
  • "dn": "/C=US/O=Asguard/OU=Endbox/CN=BHI@40130#EC2123ABC123",
  • "ccert_dn_present": false,
  • "ccert_csr_present": false,
  • "ccert_present": false,
  • "ccert_dn": null,
  • "ccert_csr": null,
  • "ccert_completed_at": null,
  • "ccert": null,
  • "cloud_attributes":
    {
    },
  • "cloud_route_table_id": "rtb-abcd0000000000000",
  • "link_manager": null,
  • "path_mtu_enabled": true,
  • "source_nat_enabled": false,
  • "stp_enabled": true,
  • "overlay_path_mtu": 1400,
  • "intrusion_prevention_frequency": 300,
  • "intrusion_prevention_link_id": null,
  • "firewall_config":
    {
    },
  • "nat": false,
  • "transparent_mode": false,
  • "device_auto_detect": false,
  • "dhcp_settings": [ ]
}

hipservice_start

Starts a job to start a cloud Airwall. Use GET /jobs/{id} to get the actual response.

path Parameters
providerId
required
string

Cloud Provider ID

Request Body schema: application/json

Start a cloud Airwall

instance_id
required
string

[AWS, Azure, Google] Airwall Instance ID

region
string

[AWS, Azure, Google] Airwall Instance Region

Responses

202

Accepted

403

Forbidden

404

Not Found

post /cloud_providers/{providerId}/hipservices/start
http://localhost/api/v1/cloud_providers/{providerId}/hipservices/start

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "instance_id": "i-2222abcde11111111",
  • "region": "us-west-1"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "operation": "start",
  • "provider": "aws",
  • "region": "us-west-1",
  • "instanceid": "i-2222abcde11111111",
  • "status": "complete"
}

hipservice_stop

Starts a job to stop a cloud Airwall. Use GET /jobs/{id} to get the actual response.

path Parameters
providerId
required
string

Cloud Provider ID

Request Body schema: application/json

Stop a cloud Airwall

instance_id
required
string

[AWS, Azure, Google] Airwall Instance ID

region
string

[AWS, Azure, Google] Airwall Instance Region

Responses

202

Accepted

403

Forbidden

404

Not Found

post /cloud_providers/{providerId}/hipservices/stop
http://localhost/api/v1/cloud_providers/{providerId}/hipservices/stop

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "instance_id": "i-2222abcde11111111",
  • "region": "us-west-1"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "operation": "stop",
  • "provider": "aws",
  • "region": "us-west-1",
  • "instanceid": "i-2222abcde11111111",
  • "status": "complete"
}

hipservice_reset

Starts a job to reset a cloud Airwall. Use GET /jobs/{id} to get the actual response.

path Parameters
providerId
required
string

Cloud Provider ID

Request Body schema: application/json

Reset a cloud Airwall

instance_id
required
string

[AWS, Azure, Google] Airwall Instance ID

region
string

[AWS, Azure, Google] Airwall Instance Region

Responses

202

Accepted

403

Forbidden

404

Not Found

post /cloud_providers/{providerId}/hipservices/reset
http://localhost/api/v1/cloud_providers/{providerId}/hipservices/reset

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "instance_id": "i-2222abcde11111111",
  • "region": "us-west-1"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "operation": "reset",
  • "provider": "aws",
  • "region": "us-west-1",
  • "instanceid": "i-2222abcde11111111",
  • "status": "complete"
}

hipservice_snapshot

Starts a job to snapshot a cloud Airwall. Use GET /jobs/{id} to get the actual response.

path Parameters
providerId
required
string

Cloud Provider ID

Request Body schema: application/json

Snapshot a cloud Airwall

instance_id
required
string

[AWS, Azure, Google] Airwall Instance ID

region
string

[AWS, Azure, Google] Airwall Instance Region

Responses

202

Accepted

403

Forbidden

404

Not Found

post /cloud_providers/{providerId}/hipservices/snapshot
http://localhost/api/v1/cloud_providers/{providerId}/hipservices/snapshot

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "instance_id": "i-2222abcde11111111",
  • "region": "us-west-1"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "operation": "snapshot",
  • "provider": "aws",
  • "region": "us-west-1",
  • "instanceid": "i-2222abcde11111111",
  • "status": "complete"
}

Device Groups

bulk_destroy

Delete multiple device groups.

Request Body schema: application/json

Delete multiple device groups.

device_group_ids
required
Array of strings

An array of ID strings

Responses

200

Success

400

Bad Request

403

Forbidden

422

Unprocessable Entity

delete /device_groups
http://localhost/api/v1/device_groups

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "device_group_ids":
    [
    ]
}

index

Returns a collection of device groups.

query Parameters
filter
string

filter

sort
string

sort

limit
integer <int32>

limit

offset
integer <int32>

offset

paginate
boolean
Default: false

Response will include metadata to allow easy pagination through all available data. Default will change to true in v2.3.

Responses

200

Success

400

Bad Request

get /device_groups
http://localhost/api/v1/device_groups

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    [
    ],
  • "metadata":
    {
    }
}

create

Create a new device group.

Request Body schema: application/json

Create a new device group.

auto_recompute
boolean

Automatically recompute after rules change (smart device groups only)

description
string
device_ids
Array of strings

An array of ID strings

enabled
boolean

Network communications enabled

name
required
string

Device group name

require_accepted
boolean

Ignore auto-discovered devices until accepted (smart device groups only)

rule_editor_id
string

Id of user that can edit device match rules for this group (smart device groups only)

use_rules
boolean

Use rules to add devices

Responses

201

Created

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /device_groups
http://localhost/api/v1/device_groups

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "auto_recompute": false,
  • "description": "API device_group created by automated testing.",
  • "device_ids":
    [
    ],
  • "enabled": true,
  • "name": "API device_group (non persistent)",
  • "require_accepted": false,
  • "use_rules": false
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "API device_group created by automated testing.",
  • "device_ids":
    [
    ],
  • "id": "a9890571-369a-4a77-a80b-8de89ed1f008",
  • "name": "API device_group (non persistent)",
  • "uuid": "a9890571-369a-4a77-a80b-8de89ed1f008"
}

destroy

Delete an existing device group.

path Parameters
id
required
string

Device Group ID

Responses

200

Success

400

Bad Request

403

Forbidden

delete /device_groups/{id}
http://localhost/api/v1/device_groups/{id}

show

Returns a single device group.

path Parameters
id
required
string

Device Group ID

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /device_groups/{id}
http://localhost/api/v1/device_groups/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "API device_group created by automated testing.",
  • "device_ids":
    [
    ],
  • "id": "55535846-ae0f-4327-be88-f3cdd1dd9463",
  • "name": "API device_group (non persistent)",
  • "uuid": "55535846-ae0f-4327-be88-f3cdd1dd9463"
}

update

Update an existing device group (All fields are optional).

path Parameters
id
required
string

Device Group ID

Request Body schema: application/json

Update an existing device group (All fields are optional).

auto_recompute
boolean

Automatically recompute after rules change (smart device groups only)

description
string

Device group description

device_ids
Array of strings

An array of ID strings

enabled
boolean

Network communications enabled

name
string

Device group name

require_accepted
boolean

Ignore auto-discovered devices until accepted (smart device groups only)

rule_editor_id
string

Id of user that can edit device match rules for this group (smart device groups only)

use_rules
boolean

Use rules to add devices

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

patch /device_groups/{id}
http://localhost/api/v1/device_groups/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "auto_recompute": false,
  • "description": "Security cameras device group.",
  • "device_ids":
    [
    ],
  • "enabled": true,
  • "name": "Cameras-01",
  • "require_accepted": false,
  • "rule_editor_id": false,
  • "use_rules": false
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "auto_recompute": false,
  • "description": "Security cameras device group.",
  • "device_ids":
    [
    ],
  • "enabled": true,
  • "name": "Cameras-01",
  • "require_accepted": false,
  • "rule_editor_id": false,
  • "use_rules": false,
  • "uuid": "55535846-ae0f-4327-be88-f3cdd1dd9463"
}

add

Add devices to an existing device group.

path Parameters
id
required
string

Device Group ID

Request Body schema: application/json

An array of ID strings

device_ids
required
Array of strings

An array of ID strings

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /device_groups/{id}/add
http://localhost/api/v1/device_groups/{id}/add

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "device_ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "API device_group created by automated testing.",
  • "device_ids":
    [
    ],
  • "id": "55535846-ae0f-4327-be88-f3cdd1dd9463",
  • "name": "API device_group (non persistent) - Patched",
  • "uuid": "55535846-ae0f-4327-be88-f3cdd1dd9463"
}

remove

Remove devices from an existing device group.

path Parameters
id
required
string

Device Group ID

Request Body schema: application/json

An array of ID strings

device_ids
required
Array of strings

An array of ID strings

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

delete /device_groups/{id}/remove
http://localhost/api/v1/device_groups/{id}/remove

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "device_ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "API device_group created by automated testing.",
  • "device_ids": [ ],
  • "id": "55535846-ae0f-4327-be88-f3cdd1dd9463",
  • "name": "API device_group (non persistent) - Patched",
  • "uuid": "55535846-ae0f-4327-be88-f3cdd1dd9463"
}

tag_members

Directly set tag members for device_group.

path Parameters
id
required
string

Device Group ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /device_groups/{id}/tag_members
http://localhost/api/v1/device_groups/{id}/tag_members

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

tag_refresh

Refresh expiration time for tag(s) on device_group.

path Parameters
id
required
string

Device Group ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /device_groups/{id}/tag_refresh
http://localhost/api/v1/device_groups/{id}/tag_refresh

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

untag

Remove tag(s) from device_group.

path Parameters
id
required
string

Device Group ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

delete /device_groups/{id}/tags
http://localhost/api/v1/device_groups/{id}/tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

tag

Add tag(s) to device_group.

path Parameters
id
required
string

Device Group ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /device_groups/{id}/tags
http://localhost/api/v1/device_groups/{id}/tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

Device Match Rules

index

Returns a collection of all device match rules on a device group

path Parameters
deviceGroupId
required
string

Device Group ID

Responses

200

Success

403

Forbidden

422

Unprocessable Entity

get /device_groups/{deviceGroupId}/device_match_rules
http://localhost/api/v1/device_groups/{deviceGroupId}/device_match_rules

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    }
]

create

Creates a new device match rule on a device group

path Parameters
deviceGroupId
required
string

Device Group ID

Request Body schema: application/json

Device Match Rule

negate
boolean
Default: false
operator
required
string
Default: "include"
Enum: "include" "exclude" "filter"

Operator type for rule

rule_order
required
integer

Priority of rule

type
required
string
Enum: "match_cidr" "match_device_group" "match_hipservice" "match_hipservice_attribute" "match_hipservice_group" "match_inet" "match_mac_prefix" "match_range" "match_tag" "match_tag_search"

Type of device match rule

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /device_groups/{deviceGroupId}/device_match_rules
http://localhost/api/v1/device_groups/{deviceGroupId}/device_match_rules

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "match_cidr example":
    {
    },
  • "match_device_group example":
    {
    },
  • "match_hipservice example":
    {
    },
  • "match_hipservice_attribute example":
    {
    },
  • "match_hipservice_group example":
    {
    },
  • "match_inet example":
    {
    },
  • "match_mac_prefix example":
    {
    },
  • "match_range example":
    {
    },
  • "match_tag example":
    {
    },
  • "match_tag_search example":
    {
    },
  • "id": "device_match_rule"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "cidr": "192.168.23.0/24",
  • "created_at": "2018-11-26T19:56:06.193Z",
  • "id": "c21e2a4d-9443-4a52-906a-da3cec1067fc",
  • "negate": false,
  • "only_match_overlay_device_ip": false,
  • "operator": "+",
  • "rule_order": 10,
  • "type": "match_cidr",
  • "updated_at": "2018-11-26T19:56:06.193Z"
}

destroy

Removes a device match rule from a device group

path Parameters
deviceGroupId
required
string

Device Group ID

id
required
string

Device Match Rule ID

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

delete /device_groups/{deviceGroupId}/device_match_rules/{id}
http://localhost/api/v1/device_groups/{deviceGroupId}/device_match_rules/{id}

show

Returns a single device match rule

path Parameters
deviceGroupId
required
string

Device Group ID

id
required
string

Device Match Rule ID

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /device_groups/{deviceGroupId}/device_match_rules/{id}
http://localhost/api/v1/device_groups/{deviceGroupId}/device_match_rules/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "cidr": "192.168.23.0/24",
  • "created_at": "2018-11-26T19:56:06.193Z",
  • "id": "c21e2a4d-9443-4a52-906a-da3cec1067fc",
  • "negate": false,
  • "only_match_overlay_device_ip": false,
  • "operator": "+",
  • "rule_order": 10,
  • "type": "match_cidr",
  • "updated_at": "2018-11-26T19:56:06.193Z"
}

update

Updates a device match rule on a device group

path Parameters
deviceGroupId
required
string

Device Group ID

id
required
string

Device Match Rule ID

Request Body schema: application/json

Device Match Rule

negate
boolean
Default: false
operator
required
string
Default: "include"
Enum: "include" "exclude" "filter"

Operator type for rule

rule_order
required
integer

Priority of rule

type
required
string
Enum: "match_cidr" "match_device_group" "match_hipservice" "match_hipservice_attribute" "match_hipservice_group" "match_inet" "match_mac_prefix" "match_range" "match_tag" "match_tag_search"

Type of device match rule

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

patch /device_groups/{deviceGroupId}/device_match_rules/{id}
http://localhost/api/v1/device_groups/{deviceGroupId}/device_match_rules/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "match_cidr example":
    {
    },
  • "match_device_group example":
    {
    },
  • "match_hipservice example":
    {
    },
  • "match_hipservice_attribute example":
    {
    },
  • "match_hipservice_group example":
    {
    },
  • "match_inet example":
    {
    },
  • "match_mac_prefix example":
    {
    },
  • "match_range example":
    {
    },
  • "match_tag example":
    {
    },
  • "match_tag_search example":
    {
    },
  • "id": "device_match_rule"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "cidr": "192.168.23.0/24",
  • "created_at": "2018-11-26T19:56:06.193Z",
  • "id": "c21e2a4d-9443-4a52-906a-da3cec1067fc",
  • "negate": false,
  • "only_match_overlay_device_ip": false,
  • "operator": "+",
  • "rule_order": 10,
  • "type": "match_cidr",
  • "updated_at": "2018-11-26T19:56:06.193Z"
}

Devices

bulk_destroy

Delete multiple devices.

Request Body schema: application/json

Delete multiple devices.

device_ids
required
Array of strings

An array of ID strings

Responses

200

Success

403

Forbidden

422

Unprocessable Entity

delete /devices
http://localhost/api/v1/devices

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "device_ids":
    [
    ]
}

index

Returns a collection of devices.

query Parameters
filter
string

filter

sort
string

sort

limit
integer <int32>

limit

offset
integer <int32>

offset

paginate
boolean
Default: false

Response will include metadata to allow easy pagination through all available data. Default will change to true in v2.3.

Responses

200

Success

400

Bad Request

get /devices
http://localhost/api/v1/devices

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    [
    ],
  • "metadata":
    {
    }
}

create

Create a new device.

Request Body schema: application/json

Create a new device.

description
string

Device description

enabled
boolean
Default: true

Network communication enabled

hipservice_id
required
string

ID of parent Airwall Service

mac
string

MAC address

mac_lockdown
boolean

MAC address lockdown

name
string

Device name

overlay_device_ip
required
string

Overlay ip

port_group
integer

Port affinity port group ID (-1 for auto-detect)

Responses

201

Created

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /devices
http://localhost/api/v1/devices

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "Room 101 camera 1",
  • "enabled": true,
  • "hipservice_id": "5f9cf106-6436-4980-8e3e-fd06537caa1a",
  • "mac": "00:50:56:b0:14:08",
  • "mac_lockdown": false,
  • "name": "RE-cam-01",
  • "overlay_device_ip": "172.16.0.70",
  • "port_group": 1
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "Room 101 camera 1",
  • "discovered": false,
  • "enabled": true,
  • "hipservice_id": "5f9cf106-6436-4980-8e3e-fd06537caa1a",
  • "id": "1ca8cc06-338e-4d65-86ab-6b8d756b7422",
  • "last_activity_at": null,
  • "mac": "00:50:56:b0:14:08",
  • "mac_lockdown": false,
  • "name": "RE-cam-01",
  • "overlay_device_ip": "172.16.0.70",
  • "port_group": 1,
  • "tagged_by": [ ],
  • "uuid": "1ca8cc06-338e-4d65-86ab-6b8d756b7422"
}

accept_discovered_devices

Accept discovered device for multiple devices.

Request Body schema: application/json

Accept discovered device for multiple devices.

device_ids
required
Array of strings

An array of ID strings

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /devices/accept_discovered_devices
http://localhost/api/v1/devices/accept_discovered_devices

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "device_ids":
    [
    ]
}

export_devices

Export devices in CSV file format.

Responses

200

Success

401

Unauthorized

404

Not Found

get /devices/export_devices
http://localhost/api/v1/devices/export_devices

Response samples

Content type
text/csv
Copy
hipservice_id,device_name,overlay_device_ip,overlay_device_ip_nat,mac_address,mac_lockdown,BHI@40130#122B0252588C,tnw-device-1,192.168.2.10,,false,BHI@40130#5C201195E81D,tnw-device-2,198.168.100.3,,,false

destroy

Delete an existing device.

path Parameters
id
required
string

Device ID

Responses

200

Success

400

Bad Request

403

Forbidden

422

Unprocessable Entity

delete /devices/{id}
http://localhost/api/v1/devices/{id}

show

Returns a single device.

path Parameters
id
required
string

Device ID

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /devices/{id}
http://localhost/api/v1/devices/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "Room 101 camera 1",
  • "discovered": false,
  • "enabled": true,
  • "hipservice_id": "5f9cf106-6436-4980-8e3e-fd06537caa1a",
  • "id": "1ca8cc06-338e-4d65-86ab-6b8d756b7422",
  • "last_activity_at": null,
  • "mac": "00:50:56:b0:14:08",
  • "mac_lockdown": false,
  • "name": "RE-cam-01",
  • "overlay_device_ip": "172.16.0.70",
  • "port_group": 1,
  • "tagged_by": [ ],
  • "uuid": "1ca8cc06-338e-4d65-86ab-6b8d756b7422"
}

update

Updates a device

path Parameters
id
required
string

Device ID

Request Body schema: application/json

Update an existing device (All fields are optional).

description
string

Device description

enabled
boolean

Network communication enabled

hipservice_id
string

ID of parent Airwall Service

mac
string

MAC address

mac_lockdown
boolean

MAC address lockdown

name
string

Device name

overlay_device_ip
string

Overlay ip

port_group
integer

Port affinity port group ID (-1 for auto-detect)

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

patch /devices/{id}
http://localhost/api/v1/devices/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "Room 101 camera 1",
  • "enabled": true,
  • "hipservice_id": "5f9cf106-6436-4980-8e3e-fd06537caa1a",
  • "mac": "00:50:56:b0:14:08",
  • "mac_lockdown": false,
  • "name": "RE-cam-01",
  • "overlay_device_ip": "172.16.0.70",
  • "port_group": 1
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "Room 101 camera 1",
  • "discovered": false,
  • "enabled": true,
  • "hipservice_id": "5f9cf106-6436-4980-8e3e-fd06537caa1a",
  • "id": "1ca8cc06-338e-4d65-86ab-6b8d756b7422",
  • "last_activity_at": null,
  • "mac": "00:50:56:b0:14:08",
  • "mac_lockdown": false,
  • "name": "RE-cam-01",
  • "overlay_device_ip": "172.16.0.70",
  • "port_group": 1,
  • "tagged_by": [ ],
  • "uuid": "1ca8cc06-338e-4d65-86ab-6b8d756b7422"
}

accept_discovered_device

Accept discovered device.

path Parameters
id
required
string

Device ID

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /devices/{id}/accept_discovered_device
http://localhost/api/v1/devices/{id}/accept_discovered_device

tag_members

Directly set tag members for device.

path Parameters
id
required
string

Device ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /devices/{id}/tag_members
http://localhost/api/v1/devices/{id}/tag_members

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

tag_refresh

Refresh expiration time for tag(s) on device.

path Parameters
id
required
string

Device ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /devices/{id}/tag_refresh
http://localhost/api/v1/devices/{id}/tag_refresh

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

untag

Remove tag(s) from device.

path Parameters
id
required
string

Device ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

delete /devices/{id}/tags
http://localhost/api/v1/devices/{id}/tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

tag

Add tag(s) to device.

path Parameters
id
required
string

Device ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /devices/{id}/tags
http://localhost/api/v1/devices/{id}/tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

Email Settings

destroy

Delete the existing email settings

Responses

200

Success

400

Bad Request

delete /email_settings
http://localhost/api/v1/email_settings

index

Returns the current email settings

Responses

200

Success

get /email_settings
http://localhost/api/v1/email_settings

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "address": "smtp.example.com",
  • "authentication_type": "login",
  • "enabled": true,
  • "from_email_address": "mailer@example.com",
  • "helo_domain": null,
  • "openssl_verify_mode": "none",
  • "password": "[filtered]",
  • "port": 587,
  • "subject_prefix": "test-config",
  • "time_zone": "America/Los_Angeles",
  • "tlsmail": true,
  • "username": "mailer@example.com"
}

update

Update the existing email settings (All fields are optional)

Request Body schema: application/json

Update the existing email settings (All fields are optional)

address
string
authentication_type
string

Type of authorization (e.g. none, plain, login, cram_md5)

enabled
boolean
from_email_address
string
helo_domain
string
openssl_verify_mode
string

SSL verification mode (e.g. none, peer)

password
string
port
integer <int32>
subject_prefix
string

Prefix for subject line

time_zone
string

IANA standard string

tlsmail
boolean
username
string

Responses

200

Success

400

Bad Request

patch /email_settings
http://localhost/api/v1/email_settings

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "address": "smtp.example.com",
  • "authentication_type": "login",
  • "enabled": true,
  • "from_email_address": "mailer@example.com",
  • "helo_domain": "",
  • "openssl_verify_mode": "",
  • "password": "actualpassword",
  • "port": 587,
  • "subject_prefix": "test-config",
  • "time_zone": "America/Los_Angeles",
  • "tlsmail": true,
  • "username": "mailer@example.com"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "address": "smtp.example.com",
  • "authentication_type": "login",
  • "enabled": true,
  • "from_email_address": "mailer@example.com",
  • "helo_domain": null,
  • "openssl_verify_mode": "none",
  • "password": "[filtered]",
  • "port": 587,
  • "subject_prefix": "test-config",
  • "time_zone": "America/Los_Angeles",
  • "tlsmail": true,
  • "username": "mailer@example.com"
}

create

Set the Airwall Conductor email settings

Request Body schema: application/json
address
string
authentication_type
string

Type of authorization (e.g. none, plain, login, cram_md5)

enabled
boolean
from_email_address
string
helo_domain
string
openssl_verify_mode
string

SSL verification mode (e.g. none, peer)

password
string
port
integer <int32>
subject_prefix
string

Prefix for subject line

time_zone
string

IANA standard string

tlsmail
boolean
username
string

Responses

201

Created

400

Bad Request

post /email_settings
http://localhost/api/v1/email_settings

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "address": "smtp.example.com",
  • "authentication_type": "login",
  • "enabled": true,
  • "from_email_address": "mailer@example.com",
  • "helo_domain": "",
  • "openssl_verify_mode": "",
  • "password": "actualpassword",
  • "port": 587,
  • "subject_prefix": "test-config",
  • "time_zone": "America/Los_Angeles",
  • "tlsmail": true,
  • "username": "mailer@example.com"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "address": "smtp.example.com",
  • "authentication_type": "login",
  • "enabled": true,
  • "from_email_address": "mailer@example.com",
  • "helo_domain": null,
  • "openssl_verify_mode": "none",
  • "password": "[filtered]",
  • "port": 587,
  • "subject_prefix": "test-config",
  • "time_zone": "America/Los_Angeles",
  • "tlsmail": true,
  • "username": "mailer@example.com"
}

test

Send a test email to the given address

Request Body schema: application/json
email
required
string

Responses

200

Success

400

Bad Request

401

Unauthorized

503

Service Unavailable

post /email_settings/test
http://localhost/api/v1/email_settings/test

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "email": "test@example.com"
}

Airwall Groups

bulk_destroy

Delete multiple Airwall groups.

Request Body schema: application/json

Delete multiple Airwall groups.

hipservices_group_ids
required
Array of strings

An array of ID strings

Responses

200

Success

400

Bad Request

403

Forbidden

422

Unprocessable Entity

delete /hipservice_groups
http://localhost/api/v1/hipservice_groups

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "hipservices_group_ids":
    [
    ]
}

index

Returns a collection of Airwall groups.

query Parameters
filter
string

filter

sort
string

sort

limit
integer <int32>

limit

offset
integer <int32>

offset

paginate
boolean
Default: false

Response will include metadata to allow easy pagination through all available data. Default will change to true in v2.3.

Responses

200

Success

400

Bad Request

get /hipservice_groups
http://localhost/api/v1/hipservice_groups

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    [
    ],
  • "metadata":
    {
    }
}

create

Create a new Airwall group.

Request Body schema: application/json

Create a new Airwall group.

description
string
enabled
boolean

Set enabled state of Airwall group

hipservices_ids
Array of strings

An array of ID strings

name
required
string
relay_group
boolean

Set whether this Airwall group is a relay group (all Airwalls must be relays to enable)

Responses

201

Created

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservice_groups
http://localhost/api/v1/hipservice_groups

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "API Airwall group created by automated testing.",
  • "enabled": true,
  • "hipservices_ids":
    [
    ],
  • "name": "API Airwall group (non persistent)",
  • "relay_group": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "API airwall_group created by automated testing.",
  • "enabled": true,
  • "hipservices_ids":
    [
    ],
  • "id": "a851fe87-3247-4ade-9dd0-a62d6f340e3a",
  • "name": "API airwall_group (non persistent)",
  • "relay_group": false,
  • "uuid": "a851fe87-3247-4ade-9dd0-a62d6f340e3a"
}

destroy

Delete an existing Airwall group.

path Parameters
id
required
integer <int32>

Airwall group ID

Responses

200

Success

400

Bad Request

403

Forbidden

422

Unprocessable Entity

delete /hipservice_groups/{id}
http://localhost/api/v1/hipservice_groups/{id}

show

Returns a single Airwall group.

path Parameters
id
required
string

Airwall group ID

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /hipservice_groups/{id}
http://localhost/api/v1/hipservice_groups/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "API Airwall group created by automated testing.",
  • "enabled": true,
  • "hipservices_ids":
    [
    ],
  • "id": "a851fe87-3247-4ade-9dd0-a62d6f340e3a",
  • "name": "API airwall_group (non persistent)",
  • "relay_group": false,
  • "uuid": "a851fe87-3247-4ade-9dd0-a62d6f340e3a"
}

update

Update an existing Airwall group (All fields are optional).

path Parameters
id
required
string

Airwall group ID

Request Body schema: application/json

Update an existing Airwall group (All fields are optional).

description
string
enabled
boolean

Set enabled state of Airwall group

hipservices_ids
Array of strings

An array of ID strings

name
required
string
relay_group
boolean

Set whether this Airwall group is a relay group (all Airwalls must be relays to enable)

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

patch /hipservice_groups/{id}
http://localhost/api/v1/hipservice_groups/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "API Airwall group created by automated testing.",
  • "enabled": true,
  • "hipservices_ids":
    [
    ],
  • "name": "API Airwall group (non persistent)",
  • "relay_group": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "API airwall_group created by automated testing.",
  • "enabled": true,
  • "hipservices_ids":
    [
    ],
  • "id": "a851fe87-3247-4ade-9dd0-a62d6f340e3a",
  • "name": "API airwall_group (non persistent)",
  • "relay_group": false,
  • "uuid": "a851fe87-3247-4ade-9dd0-a62d6f340e3a"
}

reboot

Reboot Airwall group.

path Parameters
id
required
integer <int32>

Airwall group ID

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservice_groups/{id}/reboot
http://localhost/api/v1/hipservice_groups/{id}/reboot

tag_members

Directly set tag members for Airwall group.

path Parameters
id
required
string

Airwall group ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservice_groups/{id}/tag_members
http://localhost/api/v1/hipservice_groups/{id}/tag_members

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

tag_refresh

Refresh expiration time for tag(s) on Airwall group.

path Parameters
id
required
string

Airwall group ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservice_groups/{id}/tag_refresh
http://localhost/api/v1/hipservice_groups/{id}/tag_refresh

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

untag

Remove tag(s) from Airwall group.

path Parameters
id
required
string

Airwall group ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

delete /hipservice_groups/{id}/tags
http://localhost/api/v1/hipservice_groups/{id}/tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

tag

Add tag(s) to Airwall group.

path Parameters
id
required
string

Airwall group ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservice_groups/{id}/tags
http://localhost/api/v1/hipservice_groups/{id}/tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

Airwalls

bulk_destroy

Delete multiple revoked Airwalls.

Request Body schema: application/json

List of Airwall IDs.

hipservice_ids
required
Array of strings

An array of ID strings

Responses

200

Success

400

Bad Request

403

Forbidden

422

Unprocessable Entity

delete /hipservices
http://localhost/api/v1/hipservices

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "hipservice_ids":
    [
    ]
}

index

Returns a collection of Airwalls.

query Parameters
filter
string

filter

sort
string

sort

limit
integer <int32>

limit

offset
integer <int32>

offset

paginate
boolean
Default: false

Response will include metadata to allow easy pagination through all available data. Default will change to true in v2.3.

Responses

200

Success

400

Bad Request

get /hipservices
http://localhost/api/v1/hipservices

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    [
    ],
  • "metadata":
    {
    }
}

bulk_revoke

Deactivate the Airwall.

Request Body schema: application/json

List of Airwall IDs.

hipservice_ids
required
Array of strings

An array of ID strings

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservices/revoke
http://localhost/api/v1/hipservices/revoke

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "hipservice_ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success"
}

Delete failover group

Remove a failover group from the Airwall

path Parameters
hipserviceId
required
string

Airwall ID

id
required
string

Failover group ID

Responses

200

Success

403

Forbidden

404

Not Found

delete /hipservices/{hipserviceId}/failover_groups/{id}
http://localhost/api/v1/hipservices/{hipserviceId}/failover_groups/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

Get a failover group

Returns a failover group

path Parameters
hipserviceId
required
string

Airwall ID

id
required
string

Failover group ID

Responses

200

Success

403

Forbidden

404

Not Found

get /hipservices/{hipserviceId}/failover_groups/{id}
http://localhost/api/v1/hipservices/{hipserviceId}/failover_groups/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "dest_conductor": true,
  • "dest_other_ips": "",
  • "disable_active_link_pings": false,
  • "disable_auto_repair": false,
  • "id": 1,
  • "name": "Failover group 1",
  • "ping_failure_count": 2,
  • "ping_rate": 30,
  • "ping_timeout": 6,
  • "ping_ttl": 255,
  • "traffic_types":
    [
    ]
}

Update a failover group

Update failover group on the Airwall

path Parameters
hipserviceId
required
string

Airwall ID

id
required
string

Failover group ID

Request Body schema: application/json
name
string

Group name

ping_ttl
integer [ 1 .. 255 ]
Default: 255

Number of hops ping will travel to reach destination

ping_rate
integer [ 10 .. 600 ]
Default: 30

Seconds between pings

ping_timeout
integer [ 1 .. 30 ]
Default: 5

Seconds before ping times out

ping_failure_count
integer [ 1 .. 5 ]
Default: 2

Number of times ping fails before link failover

disable_active_link_pings
boolean

Disable pings on the active link

dest_conductor
boolean

Use the Conductor as the ping destination

dest_other_ips
Array of strings

Array of other IPs to ping

traffic_types
Array of strings
Items Enum: "hip" "map" "relay"

Traffic types allowed

disable_auto_repair
boolean

Disable link auto repair

reboot
boolean

Reboot if no links are available (only for Airwalls pre version 2.2.0)

reboot_th_s
integer

Minimum wait time after reboot in seconds (only for Airwalls pre version 2.2.0)

reboot_recurring_th_s
integer

Minimum wait time after failure in seconds (only for Airwalls pre version 2.2.0)

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

patch /hipservices/{hipserviceId}/failover_groups/{id}
http://localhost/api/v1/hipservices/{hipserviceId}/failover_groups/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "Failover Group 1",
  • "ping_ttl": 255,
  • "ping_rate": 30,
  • "ping_timeout": 6,
  • "ping_failure_count": 1,
  • "disable_active_link_pings": false,
  • "dest_conductor": true,
  • "dest_other_ips":
    [
    ],
  • "traffic_types":
    [
    ],
  • "disable_auto_repair": true,
  • "reboot": true,
  • "reboot_th_s": 60,
  • "reboot_recurring_th_s": 600
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "dest_conductor": true,
  • "dest_other_ips": "",
  • "disable_active_link_pings": false,
  • "disable_auto_repair": false,
  • "id": 1,
  • "name": "Failover group 1",
  • "ping_failure_count": 2,
  • "ping_rate": 30,
  • "ping_timeout": 6,
  • "ping_ttl": 255,
  • "traffic_types":
    [
    ]
}

destroy

Delete an existing revoked Airwall.

path Parameters
id
required
string

Airwall ID

Responses

200

Success

400

Bad Request

403

Forbidden

422

Unprocessable Entity

delete /hipservices/{id}
http://localhost/api/v1/hipservices/{id}

show

Returns a single Airwall.

path Parameters
id
required
string

Airwall ID

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /hipservices/{id}
http://localhost/api/v1/hipservices/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "active": true,
  • "can_edit": true,
  • "capabilities":
    [
    ],
  • "ccert": null,
  • "ccert_completed_at": null,
  • "ccert_csr": null,
  • "ccert_csr_present": false,
  • "ccert_dn": null,
  • "ccert_dn_present": false,
  • "ccert_present": false,
  • "communication_disabled_through_groups": [ ],
  • "connected": true,
  • "description": "AUTOMATION - PATCHED",
  • "device_activity_reporting_interval": 300,
  • "device_auto_detect": true,
  • "dhcp": null,
  • "diagnostic_requested_at": null,
  • "dn": "/C=US/O=Asguard/OU=Endbox/CN=BHI@40130#42308D510FB2",
  • "enabled": true,
  • "esp_compress": false,
  • "esp_encryption": "AES256_GCM",
  • "factory_reset_at": null,
  • "firewall_config":
    {
    },
  • "firmware_install_at": "2018-08-27T16:17:20.000Z",
  • "firmware_revision": "Airwall-x86_64_r2.1.3-951",
  • "ha_available": false,
  • "ha_compatible": true,
  • "hit": "2001:10:c384:9bde:a3aa:57bc:4473:dabf",
  • "hotfix_list": [ ],
  • "id": "ce5e081e-f063-4b16-8cd4-a353e276f575",
  • "link_manager":
    {
    },
  • "local_devices":
    [
    ],
  • "location": "VMWARE. - PATCHED",
  • "lsi": "1.115.218.191",
  • "managed": true,
  • "max_ft_bandwidth": null,
  • "model": "Airwall-300v",
  • "nat": false,
  • "network_list":
    [
    ],
  • "offline_at": "2018-08-28T18:24:42.180Z",
  • "online_at": "2018-08-28T18:24:48.093Z",
  • "overlay_gateway_ip": "192.168.2.10",
  • "overlay_netmask": "255.255.255.0",
  • "overlay_routes": [ ],
  • "packet_capture_started_at": null,
  • "path_mtu_enabled": true,
  • "peer_autoconnect_interval": 60,
  • "product_model": "ISA-300v",
  • "product_platform": "300v-101",
  • "relay": true,
  • "remote_session": null,
  • "serial_number": "42308D510FB2",
  • "source_nat_enabled": false,
  • "stp_enabled": true,
  • "support_bundle_requested_at": null,
  • "title": "HS-168.3.51",
  • "traffic_stats_interval": 300,
  • "transparent_mode": false,
  • "type": "HIPswitch",
  • "uid": "BHI@40130#42308D510FB2",
  • "unassigned": false,
  • "underlay_ip": "192.168.3.51",
  • "underlay_ip_nat": "203.0.113.254",
  • "uuid": "ce5e081e-f063-4b16-8cd4-a353e276f575",
  • "version": "2.1.3"
}

update

Update an existing Airwall (All fields are optional).

path Parameters
id
required
string

Airwall ID

Request Body schema: application/json

Update an existing Airwall (All fields are optional).

active
string
ccert
string
ccert_dn
string
description
string
device_activity_reporting_interval
string
device_auto_detect
string
dhcp
object (dhcp)
enabled
string
esp_encryption
string
esp_compress
boolean
exclusive_mode
string

deprecated

ha_ip
string
ha_partner_id
string
intrusion_prevention_frequency
integer

Frequency that the intrusion detection system should processes alerts (in seconds)

intrusion_prevention_link_id
integer

Link to monitor with the intrusion prevention system

location
string
nat
string
overlay_device_ip
string

Overlay Device IP (for Airwall client)

overlay_device_netmask
string

Overlay Device Netmask (for Airwall client)

overlay_gateway_ip
string
overlay_netmask
string
packet_capture_started
string
path_mtu_enabled
boolean

Enable path MTU detection (requires Advanced Networking)

source_nat_enabled
boolean

Enable source NAT (requires Advanced Networking)

stp_enabled
boolean

Enable spanning tree protocol (requires Advanced Networking)

title
string
transparent_mode
string
two_factor_auth
string

deprecated

underlay_ip_nat
string
user_auth
boolean

User auth enabled (for Airwall client)

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

patch /hipservices/{id}
http://localhost/api/v1/hipservices/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    }
]

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "active": true,
  • "can_edit": true,
  • "capabilities":
    [
    ],
  • "ccert": null,
  • "ccert_completed_at": null,
  • "ccert_csr": null,
  • "ccert_csr_present": false,
  • "ccert_dn": null,
  • "ccert_dn_present": false,
  • "ccert_present": false,
  • "communication_disabled_through_groups": [ ],
  • "connected": true,
  • "description": "AUTOMATION - PATCHED",
  • "device_activity_reporting_interval": 300,
  • "device_auto_detect": true,
  • "dhcp": null,
  • "diagnostic_requested_at": null,
  • "dn": "/C=US/O=Asguard/OU=Endbox/CN=BHI@40130#42308D510FB2",
  • "enabled": true,
  • "esp_compress": false,
  • "esp_encryption": "AES256_GCM",
  • "factory_reset_at": null,
  • "firewall_config":
    {
    },
  • "firmware_install_at": "2018-08-27T16:17:20.000Z",
  • "firmware_revision": "Airwall-x86_64_r2.1.3-951",
  • "ha_available": false,
  • "ha_compatible": true,
  • "hit": "2001:10:c384:9bde:a3aa:57bc:4473:dabf",
  • "hotfix_list": [ ],
  • "id": "ce5e081e-f063-4b16-8cd4-a353e276f575",
  • "link_manager":
    {
    },
  • "local_devices":
    [
    ],
  • "location": "VMWARE. - PATCHED",
  • "lsi": "1.115.218.191",
  • "managed": true,
  • "max_ft_bandwidth": null,
  • "model": "Airwall-300v",
  • "nat": false,
  • "network_list":
    [
    ],
  • "offline_at": "2018-08-28T18:24:42.180Z",
  • "online_at": "2018-08-28T18:24:48.093Z",
  • "overlay_gateway_ip": "192.168.2.10",
  • "overlay_netmask": "255.255.255.0",
  • "overlay_routes": [ ],
  • "packet_capture_started_at": null,
  • "path_mtu_enabled": true,
  • "peer_autoconnect_interval": 60,
  • "product_model": "ISA-300v",
  • "product_platform": "300v-101",
  • "relay": true,
  • "remote_session": null,
  • "serial_number": "42308D510FB2",
  • "source_nat_enabled": false,
  • "stp_enabled": true,
  • "support_bundle_requested_at": null,
  • "title": "HS-168.3.51",
  • "traffic_stats_interval": 300,
  • "transparent_mode": false,
  • "type": "HIPswitch",
  • "uid": "BHI@40130#42308D510FB2",
  • "unassigned": false,
  • "underlay_ip": "192.168.3.51",
  • "underlay_ip_nat": "203.0.113.254",
  • "uuid": "ce5e081e-f063-4b16-8cd4-a353e276f575",
  • "version": "2.1.3"
}

blink

Sends a blink LED request to the Airwall.

path Parameters
id
required
string

Airwall ID

Responses

200

Success

404

Not Found

422

Unprocessable Entity

post /hipservices/{id}/blink
http://localhost/api/v1/hipservices/{id}/blink

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

Check relay connections

Starts a job to get the list of Airwalls communicating through this relay.

path Parameters
id
required
string

Airwall ID

Responses

202

Accepted

403

Forbidden

404

Not Found

post /hipservices/{id}/check_relay_connections
http://localhost/api/v1/hipservices/{id}/check_relay_connections

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

Check relay probes

Starts a job to get the status of probes to HIPrelays.

path Parameters
id
required
string

Airwall ID

Responses

202

Accepted

404

Not Found

post /hipservices/{id}/check_relay_probes
http://localhost/api/v1/hipservices/{id}/check_relay_probes

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

Check signal

Starts a job to check the signal on a given port

path Parameters
id
required
string

Airwall ID

Request Body schema: application/json
uci_name
required
string

Name of port

port_type
required
string
Enum: "cellular" "wireless"

Type of port

Responses

202

Accepted

404

Not Found

422

Unprocessable Entity

post /hipservices/{id}/check_signal
http://localhost/api/v1/hipservices/{id}/check_signal

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "uci_name": "cell0",
  • "port_type": "cellular"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

Check secure tunnels

Starts a job to check the status of secure tunnels on the Airwall

path Parameters
id
required
string

Airwall ID

Request Body schema: application/json
create
boolean

Build new tunnels if none exist

Responses

202

Accepted

403

Forbidden

404

Not Found

post /hipservices/{id}/check_secure_tunnels
http://localhost/api/v1/hipservices/{id}/check_secure_tunnels

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "create": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

detect_devices

Sends request to auto discover Airwall local devices.

path Parameters
id
required
string

Airwall ID

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservices/{id}/detect_devices
http://localhost/api/v1/hipservices/{id}/detect_devices

Index devices

List all Airwall devices

path Parameters
id
required
string

Airwall ID

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /hipservices/{id}/devices
http://localhost/api/v1/hipservices/{id}/devices

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Show diagnostic report

Show a diagnostic report

path Parameters
id
required
string

Airwall ID

Responses

200

Success

403

Forbidden

404

Not Found

get /hipservices/{id}/diagnostic
http://localhost/api/v1/hipservices/{id}/diagnostic

Response samples

Content type
application/json
Copy
Expand all Collapse all
"string"

Request diagnostic report

Start a job to request a Airwall diagnostic report

path Parameters
id
required
string

Airwall ID

Responses

202

Accepted

403

Forbidden

404

Not Found

post /hipservices/{id}/diagnostic
http://localhost/api/v1/hipservices/{id}/diagnostic

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

export_devices

Export local devices to csv file.

path Parameters
id
required
string

Airwall ID

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /hipservices/{id}/export_devices
http://localhost/api/v1/hipservices/{id}/export_devices

Response samples

Content type
text/csv
Copy
airwall_id,device_name,overlay_device_ip,overlay_device_ip_nat,mac_address,mac_lockdown,BHI@40130#122B0252588C,tnw-device-1,192.168.2.10,,false,BHI@40130#5C201195E81D,tnw-device-2,198.168.100.3,,,false

Index failover groups

Returns the existing failover groups

path Parameters
id
required
string

Airwall ID

Responses

201

Created

403

Forbidden

404

Not Found

get /hipservices/{id}/failover_groups
http://localhost/api/v1/hipservices/{id}/failover_groups

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    }
]

Create a failover group

Add a new failover group to the Airwall

path Parameters
id
required
string

Airwall ID

Request Body schema: application/json
name
string

Group name

ping_ttl
integer [ 1 .. 255 ]
Default: 255

Number of hops ping will travel to reach destination

ping_rate
integer [ 10 .. 600 ]
Default: 30

Seconds between pings

ping_timeout
integer [ 1 .. 30 ]
Default: 5

Seconds before ping times out

ping_failure_count
integer [ 1 .. 5 ]
Default: 2

Number of times ping fails before link failover

disable_active_link_pings
boolean

Disable pings on the active link

dest_conductor
boolean

Use the Conductor as the ping destination

dest_other_ips
Array of strings

Array of other IPs to ping

traffic_types
Array of strings
Items Enum: "hip" "map" "relay"

Traffic types allowed

disable_auto_repair
boolean

Disable link auto repair

reboot
boolean

Reboot if no links are available (only for Airwalls pre version 2.2.0)

reboot_th_s
integer

Minimum wait time after reboot in seconds (only for Airwalls pre version 2.2.0)

reboot_recurring_th_s
integer

Minimum wait time after failure in seconds (only for Airwalls pre version 2.2.0)

Responses

201

Created

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservices/{id}/failover_groups
http://localhost/api/v1/hipservices/{id}/failover_groups

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "Failover Group 1",
  • "ping_ttl": 255,
  • "ping_rate": 30,
  • "ping_timeout": 6,
  • "ping_failure_count": 1,
  • "disable_active_link_pings": false,
  • "dest_conductor": true,
  • "dest_other_ips":
    [
    ],
  • "traffic_types":
    [
    ],
  • "disable_auto_repair": true,
  • "reboot": true,
  • "reboot_th_s": 60,
  • "reboot_recurring_th_s": 600
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "dest_conductor": true,
  • "dest_other_ips": "",
  • "disable_active_link_pings": false,
  • "disable_auto_repair": false,
  • "id": 1,
  • "name": "Failover group 1",
  • "ping_failure_count": 2,
  • "ping_rate": 30,
  • "ping_timeout": 6,
  • "ping_ttl": 255,
  • "traffic_types":
    [
    ]
}

Get global failover settings

Returns the existing global failover settings

path Parameters
id
required
string

Airwall ID

Responses

200

Success

403

Forbidden

404

Not Found

get /hipservices/{id}/global_failover_settings
http://localhost/api/v1/hipservices/{id}/global_failover_settings

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "reboot": true,
  • "reboot_recurring_th_s": 1000,
  • "reboot_th_s": 180
}

Update global failover settings

Update the existing global failover settings

path Parameters
id
required
string

Airwall ID

Request Body schema: application/json
reboot
required
boolean

Reboot if no links are available

reboot_recurring_th_s
required
integer

Min. wait time after reboot (secs)

reboot_th_s
required
integer

Min. wait time after failure (secs)

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

patch /hipservices/{id}/global_failover_settings
http://localhost/api/v1/hipservices/{id}/global_failover_settings

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "reboot": true,
  • "reboot_recurring_th_s": 1000,
  • "reboot_th_s": 180
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "reboot": true,
  • "reboot_recurring_th_s": 1000,
  • "reboot_th_s": 180
}

Index health data

Returns Airwall health data.

path Parameters
id
required
string

Airwall ID

query Parameters
timestamp
string <iso8601>

Health data range begin

timestamp_end
string <iso8601>

Health data rage end

filter
integer <int32>

All health data of at least this log level

offset
integer <int32>

offset

limit
integer
Default: 20

limit

ascending
boolean
Default: false

ascending

paginate
boolean
Default: false

Response will include metadata to allow easy pagination through all available data. Default will change to true in v2.3.

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /hipservices/{id}/health_data
http://localhost/api/v1/hipservices/{id}/health_data

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

manage

Sets the Airwall state to managed.

path Parameters
id
required
string

Airwall ID

Responses

200

Success

400

Bad Request

404

Not Found

422

Unprocessable Entity

post /hipservices/{id}/manage
http://localhost/api/v1/hipservices/{id}/manage

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "active": true,
  • "can_edit": true,
  • "capabilities":
    [
    ],
  • "ccert": null,
  • "ccert_completed_at": null,
  • "ccert_csr": null,
  • "ccert_csr_present": false,
  • "ccert_dn": null,
  • "ccert_dn_present": false,
  • "ccert_present": false,
  • "communication_disabled_through_groups": [ ],
  • "connected": true,
  • "description": null,
  • "device_activity_reporting_interval": 300,
  • "device_auto_detect": false,
  • "dhcp": null,
  • "diagnostic_requested_at": null,
  • "dn": "/C=US/O=Asguard/OU=Endbox/CN=BHI@40130#6ED7E57DBFDA",
  • "enabled": true,
  • "esp_compress": false,
  • "esp_encryption": "AES256_GCM",
  • "factory_reset_at": null,
  • "firewall_config":
    {
    },
  • "firmware_install_at": "2018-08-30T22:36:17.000Z",
  • "firmware_revision": "Airwall-x86_64_r2.1.4-1067",
  • "ha_available": false,
  • "ha_compatible": false,
  • "hit": "2001:14:b61d:8183:d115:96e:229e:51f1",
  • "hotfix_list": [ ],
  • "id": "f106b324-afc3-409b-b48f-2de28cacfb5d",
  • "link_manager":
    {
    },
  • "local_devices": [ ],
  • "location": null,
  • "lsi": "1.158.81.241",
  • "managed": true,
  • "max_ft_bandwidth": null,
  • "model": "Airwall-300v",
  • "nat": false,
  • "network_list": [ ],
  • "offline_at": null,
  • "online_at": "2018-08-30T22:36:31.581Z",
  • "overlay_gateway_ip": null,
  • "overlay_netmask": "255.255.255.0",
  • "overlay_routes": [ ],
  • "packet_capture_started_at": null,
  • "path_mtu_enabled": true,
  • "peer_autoconnect_interval": 60,
  • "product_model": "ISA-300v",
  • "product_platform": "300v-108",
  • "relay": false,
  • "remote_session": null,
  • "serial_number": "6ED7E57DBFDA",
  • "source_nat_enabled": false,
  • "stp_enabled": true,
  • "support_bundle_requested_at": null,
  • "title": null,
  • "traffic_stats_interval": 300,
  • "transparent_mode": false,
  • "type": "HIPswitch",
  • "uid": "BHI@40130#6ED7E57DBFDA",
  • "unassigned": true,
  • "underlay_ip": "192.168.184.2",
  • "underlay_ip_nat": "203.0.113.254",
  • "uuid": "f106b324-afc3-409b-b48f-2de28cacfb5d",
  • "version": "2.1.4"
}

Index overlay routes

List Airwall overlay routes

path Parameters
id
required
string

Airwall ID

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /hipservices/{id}/overlay_routes
http://localhost/api/v1/hipservices/{id}/overlay_routes

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Stop a packet capture

Stop a packet capture on a Airwall (will cause the Airwall to upload what has been captured up until this call)

path Parameters
id
required
string

Airwall ID

Responses

200

Success

202

Accepted

403

Forbidden

404

Not Found

delete /hipservices/{id}/pcap
http://localhost/api/v1/hipservices/{id}/pcap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

Show packet capture

Show a packet capture

path Parameters
id
required
string

Airwall ID

Responses

200

Success

403

Forbidden

404

Not Found

get /hipservices/{id}/pcap
http://localhost/api/v1/hipservices/{id}/pcap

Response samples

Content type
application/json
Copy
Expand all Collapse all
"string"

Request packet capture

Start a job to request a packet capture on the Airwall

path Parameters
id
required
string

Airwall ID

Request Body schema: application/json
capture_interface
required
string

Interface to capture on

ip_address
string

IP address to capture

max_bandwidth
integer

Maximum bandwidth to use on PCAP upload (KB)

max_size
integer

Max size of PCAP (MB)

max_time
integer

Time limit for packet capture (in minutes)

port
integer

Port to capture

protocol
string

Protocol to capture (any, icmp, tcp, udp, arp)

Responses

202

Accepted

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservices/{id}/pcap
http://localhost/api/v1/hipservices/{id}/pcap

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "capture_interface": "hip0",
  • "ip_address": "192.168.1.101",
  • "max_bandwidth": 1000,
  • "max_size": 100,
  • "max_time": 1,
  • "port": 80,
  • "protocol": "any"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

Ping an IP

Starts a job to ping a given IP or hostname

path Parameters
id
required
string

Airwall ID

Request Body schema: application/json
ip_address
required
string

IP address or hostname to ping

network
required
string
Enum: "overlay_network" "underlay_network"

Network to ping on

port_group
integer

Id of the desired port group to run ping on. If only one overlay port group exists it will be used by default. This parameter is only required for Airwalls version 2.2.0 or later.

Responses

202

Accepted

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservices/{id}/ping
http://localhost/api/v1/hipservices/{id}/ping

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ip_address": "192.168.1.101",
  • "network": "overlay_network",
  • "port_group": 1
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

Ping devices

Starts a job to ping all devices on the Airwall

path Parameters
id
required
string

Airwall ID

Responses

202

Accepted

403

Forbidden

404

Not Found

post /hipservices/{id}/ping_devices
http://localhost/api/v1/hipservices/{id}/ping_devices

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

Ping peers

Starts a job to ping all peer Airwalls. Results include ping status and HIP traffic status (bex) as booleans.

path Parameters
id
required
string

Airwall ID

Responses

202

Accepted

403

Forbidden

404

Not Found

post /hipservices/{id}/ping_peers
http://localhost/api/v1/hipservices/{id}/ping_peers

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

Get port config

Returns the existing port config

path Parameters
id
required
string

Airwall ID

Responses

200

Success

403

Forbidden

404

Not Found

get /hipservices/{id}/port_config
http://localhost/api/v1/hipservices/{id}/port_config

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "port_groups":
    [
    ],
  • "ports":
    [
    ]
}

Replace port config

Start a job to replace the existing port config

path Parameters
id
required
string

Airwall ID

Request Body schema: application/json
port_groups
required
Array of objects (Port Group)

Array of port groups

ports
required
Array of objects (Port config)

Array of ports

Responses

202

Accepted

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservices/{id}/port_config
http://localhost/api/v1/hipservices/{id}/port_config

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "port_groups":
    [
    ],
  • "ports":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

ports

Returns Airwall port configuration

path Parameters
id
required
string

Airwall ID

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /hipservices/{id}/ports
http://localhost/api/v1/hipservices/{id}/ports

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

reactivate

Activate the Airwall.

path Parameters
id
required
string

Airwall ID

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservices/{id}/reactivate
http://localhost/api/v1/hipservices/{id}/reactivate

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success"
}

reassign

Swap current Airwall configuration, overlay membership, group membership, and policies with the target Airwall. This excludes network configuration.

path Parameters
id
required
string

Airwall ID

Request Body schema: application/x-www-form-urlencoded
replacement_hipservice_id
required
string

ID of replacement Airwall

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservices/{id}/reassign
http://localhost/api/v1/hipservices/{id}/reassign

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

reboot

Sends a reboot request to the Airwall.

path Parameters
id
required
string

Airwall ID

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservices/{id}/reboot
http://localhost/api/v1/hipservices/{id}/reboot

reconnect

Sends a request to the Airwall to disconnect and reconnect to the Airwall Conductor.

path Parameters
id
required
string

Airwall ID

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

post /hipservices/{id}/reconnect
http://localhost/api/v1/hipservices/{id}/reconnect

reset_customer_pki

Clears customer certificate from the Airwall.

path Parameters
id
required
string

Airwall ID

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservices/{id}/reset_customer_pki
http://localhost/api/v1/hipservices/{id}/reset_customer_pki

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    }
]

revoke

Deactivate the Airwall.

path Parameters
id
required
string

Airwall ID

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservices/{id}/revoke
http://localhost/api/v1/hipservices/{id}/revoke

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "result": "success"
}

Show support bundle

Show a support bundle

path Parameters
id
required
string

Airwall ID

Responses

200

Success

403

Forbidden

404

Not Found

get /hipservices/{id}/support_bundle
http://localhost/api/v1/hipservices/{id}/support_bundle

Response samples

Content type
application/json
Copy
Expand all Collapse all
"string"

Request support bundle

Start a job to request a Airwall support bundle

path Parameters
id
required
string

Airwall ID

Responses

202

Accepted

403

Forbidden

404

Not Found

post /hipservices/{id}/support_bundle
http://localhost/api/v1/hipservices/{id}/support_bundle

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

swap_ha

Swaps the HA role of the Airwall.

path Parameters
id
required
string

Airwall ID

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservices/{id}/swap_ha
http://localhost/api/v1/hipservices/{id}/swap_ha

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

tag_members

Directly set tag members for Airwall.

path Parameters
id
required
string

Airwall ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservices/{id}/tag_members
http://localhost/api/v1/hipservices/{id}/tag_members

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

tag_refresh

Refresh expiration time for tag(s) on Airwall.

path Parameters
id
required
string

Airwall ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservices/{id}/tag_refresh
http://localhost/api/v1/hipservices/{id}/tag_refresh

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

untag

Remove tag(s) from Airwall.

path Parameters
id
required
string

Airwall ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

delete /hipservices/{id}/tags
http://localhost/api/v1/hipservices/{id}/tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

tag

Add tag(s) to Airwall.

path Parameters
id
required
string

Airwall ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservices/{id}/tags
http://localhost/api/v1/hipservices/{id}/tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

Traceroute

Starts a job to run traceroute on a given IP or hostname

path Parameters
id
required
string

Airwall ID

Request Body schema: application/json
ip_address
required
string

IP address or hostname to run traceroute on

network
required
string
Enum: "overlay_network" "underlay_network"

Network to run traceroute on

port_group
integer

Id of the desired port group to run traceroute on. If only one overlay port group exists it will be used by default. This parameter is only required for Airwalls version 2.2.0 or later.

Responses

202

Accepted

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservices/{id}/traceroute
http://localhost/api/v1/hipservices/{id}/traceroute

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ip_address": "192.168.1.101",
  • "network": "overlay_network",
  • "port_group": 1
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

traffic_stats

Returns Airwall traffic stats

path Parameters
id
required
string

Airwall ID

query Parameters
timestamp
string <iso8601>
Default: "one week ago"

data range begin

timestamp_end
string <iso8601>

data range end

interfaces
Array of strings
Default: ["all interfaces"]

interfaces

limit
integer
Default: 360

limit

order
string
Default: "DESC"
Enum: "ASC" "DESC"

order

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /hipservices/{id}/traffic_stats
http://localhost/api/v1/hipservices/{id}/traffic_stats

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    }
]

tunnel_stat_peers

Returns a list of ID pairs of tunnels on the given Airwall.

path Parameters
id
required
string

Airwall ID

Request Body schema: application/json
end_time
string

Time for the start of the data (ISO8601 datetime)

start_time
string

Time for the start of the data (ISO8601 datetime)

state
string
Enum: "unknown" "unassociated" "i1_sent" "i2_sent" "r2_sent" "established" "rekeying" "closing" "closed" "e_failed" "relayed"

Return only data in this state

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservices/{id}/tunnel_stat_peers
http://localhost/api/v1/hipservices/{id}/tunnel_stat_peers

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "end_time": "2019-01-23 17:24:52 -0800",
  • "start_time": "2019-01-23 17:24:52 -0800",
  • "state": "unassociated"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • "3f862971-3d78-443b-9cfe-a327b43f4451",
  • "f5ca9d80-7429-41ff-be30-e7b6a0382288"
]

tunnel_stats

Returns tunnel statistics that include the given Airwalls.

path Parameters
id
required
string

Airwall ID

Request Body schema: application/json
end_time
string

Time for the start of the data (ISO8601 datetime)

hipservice_ids
Array of strings

An array of Airwall ID strings

limit
integer

Maximum number of stats to return

start_time
string

Time for the start of the data (ISO8601 datetime)

state
string
Enum: "unknown" "unassociated" "i1_sent" "i2_sent" "r2_sent" "established" "rekeying" "closing" "closed" "e_failed" "relayed"

Return only data in this state

wide_view
boolean

If true, will return stats that include only one of the given Airwall IDs

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /hipservices/{id}/tunnel_stats
http://localhost/api/v1/hipservices/{id}/tunnel_stats

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "end_time": "2019-01-23 17:24:52 -0800",
  • "hipservice_ids":
    [
    ],
  • "limit": 1,
  • "start_time": "2019-01-23 17:24:52 -0800",
  • "state": "unassociated",
  • "wide_view": false
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    }
]

Overlay Routes

destroy

Delete an overlay route

path Parameters
hipserviceId
required
string

Airwall ID

id
required
string

Overlay route ID

Responses

200

Success

404

Not Found

422

Unprocessable Entity

delete /hipservices/{hipserviceId}/overlay_routes/{id}
http://localhost/api/v1/hipservices/{hipserviceId}/overlay_routes/{id}

Event Action Types

index

Returns a collection of event action types

Responses

200

Success

get /event_action_types
http://localhost/api/v1/event_action_types

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    }
]

Event Actions

index

Returns a collection of event actions

Responses

200

Success

get /event_actions
http://localhost/api/v1/event_actions

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

create

Create a new event action

Request Body schema: application/json
event_action_type_id
required
string

Event action type ID

event_monitor_id
required
string

Event monitor ID

params
required
object

Hash of params for desired event action. Required and optional params are defined on each event action type

Responses

201

Created

403

Forbidden

422

Unprocessable Entity

post /event_actions
http://localhost/api/v1/event_actions

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "event_action_type_id": "48457ebc-2389-4460-b03f-038b7ab2353a",
  • "event_monitor_id": "3d09675b-b4a1-4d4e-a830-12c5d7904920",
  • "params":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "created_at": "2018-09-04T16:44:34.431Z",
  • "event_action_type_id": "48457ebc-2389-4460-b03f-038b7ab2353a",
  • "event_monitor_id": "3d09675b-b4a1-4d4e-a830-12c5d7904920",
  • "event_type": "match",
  • "id": "6a2f0651-2ba4-40ed-b3d8-2b549e610f59",
  • "params":
    {
    },
  • "updated_at": "2018-09-04T16:44:34.431Z"
}

destroy

Delete an existing event action

path Parameters
id
required
string

Responses

200

Success

403

Forbidden

422

Unprocessable Entity

delete /event_actions/{id}
http://localhost/api/v1/event_actions/{id}

show

Return a single event action

path Parameters
id
required
string

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /event_actions/{id}
http://localhost/api/v1/event_actions/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "created_at": "2018-08-29T18:37:12.661Z",
  • "event_action_type_id": "48457ebc-2389-4460-b03f-038b7ab2353a",
  • "event_monitor_id": "6f205edf-d0b3-4578-b2ae-8b39183c035e",
  • "event_type": "match",
  • "id": "3c0e6d32-1664-4dba-9856-80f9cc7156aa",
  • "params":
    {
    },
  • "updated_at": "2018-08-29T18:37:12.661Z"
}

update

Update an existing event action

path Parameters
id
required
string
Request Body schema: application/json
params
required
object

Hash of params for desired event action. Required and optional params are defined on each event action type

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

patch /event_actions/{id}
http://localhost/api/v1/event_actions/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "params":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "created_at": "2018-09-04T16:44:34.431Z",
  • "event_action_type_id": "48457ebc-2389-4460-b03f-038b7ab2353a",
  • "event_monitor_id": "3d09675b-b4a1-4d4e-a830-12c5d7904920",
  • "event_type": "match",
  • "id": "6a2f0651-2ba4-40ed-b3d8-2b549e610f59",
  • "params":
    {
    },
  • "updated_at": "2018-09-04T16:44:34.431Z"
}

perform

Trigger the event action for test purposes. Only available if the event action type supports 'test_perform'

path Parameters
id
required
string

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /event_actions/{id}/perform
http://localhost/api/v1/event_actions/{id}/perform

Event Monitor Types

index

Returns a collection of event monitor types

Responses

200

Success

get /event_monitor_types
http://localhost/api/v1/event_monitor_types

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    }
]

monitorables

Returns a list of IDs that are valid monitorable targets of a monitor for the given event monitor type

path Parameters
id
required
string

Responses

200

Success

404

Not Found

422

Unprocessable Entity

get /event_monitor_types/{id}/monitorables
http://localhost/api/v1/event_monitor_types/{id}/monitorables

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "hipservice":
    [
    ],
  • "hipservice_group":
    [
    ]
}

Event Monitors

bulk_destroy

Delete multiple event monitors

Request Body schema: application/json
event_monitor_ids
required
Array of strings

An array of ID strings

Responses

200

Success

403

Forbidden

422

Unprocessable Entity

delete /event_monitors
http://localhost/api/v1/event_monitors

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "event_monitor_ids":
    [
    ]
}

index

Returns a collection of event monitors

Responses

200

Success

get /event_monitors
http://localhost/api/v1/event_monitors

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    }
]

create

Create a new event monitor

Request Body schema: application/json
event_monitor_type_id
required
string

Event monitor type ID

monitorable_id
required
string

ID of monitorable target

monitorable_type
required
string

Type of monitorable target (e.g. device, device_group, hipservice, hipservice_group)

params
required
object

Hash of params for desired event monitor. Required and optional params are defined on each event monitor type

Responses

201

Created

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /event_monitors
http://localhost/api/v1/event_monitors

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "event_monitor_type_id": "2dd0de70-6b90-4523-ab05-0a49d26ae077",
  • "monitorable_id": "d0017bc1-3762-4ade-9033-59f6ed4b8871",
  • "monitorable_type": "hipservice",
  • "params":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "can_edit": true,
  • "created_at": "2018-09-04T17:19:52.927Z",
  • "event_monitor_type_id": "2dd0de70-6b90-4523-ab05-0a49d26ae077",
  • "flapping": 0,
  • "id": "5ac5aa3e-dc90-490a-a01e-7123189b724a",
  • "monitorable_id": "d0017bc1-3762-4ade-9033-59f6ed4b8871",
  • "monitorable_type": "hipservice",
  • "params":
    {
    },
  • "updated_at": "2018-09-04T17:19:52.927Z"
}

bulk_disable

Disable multiple event monitors

Request Body schema: application/json
event_monitor_ids
required
Array of strings

An array of ID strings

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /event_monitors/disable
http://localhost/api/v1/event_monitors/disable

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "event_monitor_ids":
    [
    ]
}

bulk_enable

Enable multiple event monitors

Request Body schema: application/json
event_monitor_ids
required
Array of strings

An array of ID strings

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /event_monitors/enable
http://localhost/api/v1/event_monitors/enable

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "event_monitor_ids":
    [
    ]
}

destroy

Delete an existing event monitor

path Parameters
id
required
string

Responses

200

Success

403

Forbidden

422

Unprocessable Entity

delete /event_monitors/{id}
http://localhost/api/v1/event_monitors/{id}

show

Return a single event monitor

path Parameters
id
required
string

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /event_monitors/{id}
http://localhost/api/v1/event_monitors/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "can_edit": true,
  • "created_at": "2018-08-29T20:04:26.978Z",
  • "disabled_at": null,
  • "event_monitor_type_id": "5b4c2da7-0953-4b5c-b500-47adf2dcdcd0",
  • "flapping": 0,
  • "id": "52f15a00-3b92-43f3-902f-b7fabfcd38be",
  • "monitorable_id": "98f52e8f-bb9b-4c18-9dca-cf0faa3d86ea",
  • "monitorable_type": "hipservice_group",
  • "params": { },
  • "updated_at": "2018-08-29T21:34:46.001Z"
}

update

Update an existing event monitor

path Parameters
id
required
string
Request Body schema: application/json
params
required
object

Hash of params for desired event monitor. Required and optional params are defined on each event monitor type

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

patch /event_monitors/{id}
http://localhost/api/v1/event_monitors/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "params":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "can_edit": true,
  • "created_at": "2018-09-04T17:19:52.927Z",
  • "event_monitor_type_id": "2dd0de70-6b90-4523-ab05-0a49d26ae077",
  • "flapping": 0,
  • "id": "5ac5aa3e-dc90-490a-a01e-7123189b724a",
  • "monitorable_id": "d0017bc1-3762-4ade-9033-59f6ed4b8871",
  • "monitorable_type": "hipservice",
  • "params":
    {
    },
  • "updated_at": "2018-09-04T17:19:52.927Z"
}

disable

Temporarily disable operation of an event monitor

path Parameters
id
required
string

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /event_monitors/{id}/disable
http://localhost/api/v1/event_monitors/{id}/disable

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "can_edit": true,
  • "created_at": "2018-08-29T20:04:26.978Z",
  • "disabled_at": "2018-08-29T21:31:46.598Z",
  • "event_monitor_type_id": "5b4c2da7-0953-4b5c-b500-47adf2dcdcd0",
  • "flapping": 0,
  • "id": "52f15a00-3b92-43f3-902f-b7fabfcd38be",
  • "monitorable_id": "98f52e8f-bb9b-4c18-9dca-cf0faa3d86ea",
  • "monitorable_type": "hipservice_group",
  • "params": { },
  • "updated_at": "2018-08-29T21:31:46.599Z"
}

enable

Enable operation of a disabled event monitor

path Parameters
id
required
string

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /event_monitors/{id}/enable
http://localhost/api/v1/event_monitors/{id}/enable

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "can_edit": true,
  • "created_at": "2018-08-29T20:04:26.978Z",
  • "disabled_at": null,
  • "event_monitor_type_id": "5b4c2da7-0953-4b5c-b500-47adf2dcdcd0",
  • "flapping": 0,
  • "id": "52f15a00-3b92-43f3-902f-b7fabfcd38be",
  • "monitorable_id": "98f52e8f-bb9b-4c18-9dca-cf0faa3d86ea",
  • "monitorable_type": "hipservice_group",
  • "params": { },
  • "updated_at": "2018-08-29T21:34:46.001Z"
}

events

Return a list of events sent by this event monitor

path Parameters
id
required
string

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /event_monitors/{id}/events
http://localhost/api/v1/event_monitors/{id}/events

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    [
    ],
  • "metadata":
    {
    }
}

people

Return a list of people groups that have permissions to view this event monitor

path Parameters
id
required
string

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /event_monitors/{id}/people
http://localhost/api/v1/event_monitors/{id}/people

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    }
]

Firmware Updates

Index firmware updates

Returns a list of all firmware updates available on the Airwall Conductor

Responses

200

Success

403

Forbidden

get /firmware_updates
http://localhost/api/v1/firmware_updates

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    }
]

Delete firmware

Delete a firmware update file from the Airwall Conductor

path Parameters
id
required
string

Firmware Id

Responses

200

Success

403

Forbidden

delete /firmware_updates/{id}
http://localhost/api/v1/firmware_updates/{id}

Update Airwalls

Updates a set of Airwalls with the given firmware

Request Body schema: application/json
firmware_id
required
string

ID of firmware to update with

hipservice_ids
required
Array of strings

List of Airwall IDs

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /firmware_updates/update_hipservices
http://localhost/api/v1/firmware_updates/update_hipservices

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "firmware_id": "168510ea-f1fe-4d98-9948-cec22b0db186",
  • "hipservice_ids":
    [
    ]
}

Update Airwall Conductor

Updates the Airwall Conductor with the given firmware

Request Body schema: application/json
firmware_id
required
string

ID of firmware to update with

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /firmware_updates/update_conductor
http://localhost/api/v1/firmware_updates/update_conductor

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "firmware_id": "168510ea-f1fe-4d98-9948-cec22b0db186"
}

Upload firmware

Starts a job to upload a new firmware update

Request Body schema: multipart/form-data
update
required
string <binary>

Responses

202

Accepted

400

Bad Request

403

Forbidden

422

Unprocessable Entity

post /firmware_updates/upload
http://localhost/api/v1/firmware_updates/upload

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

Airwall Invites

index

Returns a paginated list of Airwall invitations and their recipients

query Parameters
limit
integer <int32>

limit

offset
integer <int32>

offset

order
string

order

ascending
boolean

ascending

Responses

200

Success

403

Forbidden

get /invites
http://localhost/api/v1/invites

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    [
    ],
  • "metadata":
    {
    }
}

create

Create an Airwall invite

Request Body schema: application/json
device_group_ids
Array of strings

Array of device group ids

email_message
string

Message of email to send to invitees. It is advisable to include the Conductor URI, Conductor MAP port, and a location where users can download the Airwall client package.

email_subject
string

Subject line of email sent to invitees

emails
required
Array of strings

Array of emails

expires_at
required
string

ISO8601 date-time format when the Airwall invites will expire if not used

hipservice_group_ids
Array of strings

Array of Airwall group ids

name_schema
required
string

Schema used to determine name of Airwall when it connects to conductor. Variables are wrapped in "${}". Valid variables are: email, email_name, hipswitch_type, ip

overlay_device_ip_start
string

First overlay IP address in range to be assigned to Airwall when it connects to Conductor

overlay_network_ids
Array of strings

Array of overlay network ids

tag_refs
Array of strings

Array of Tag References (IDs or Names)

uniq_ip
string

'true' if IP addresses already assigned to existing devices should be skipped

Responses

201

Created

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /invites
http://localhost/api/v1/invites

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "device_group_ids":
    [
    ],
  • "email_message": "Please find your Airwall Invite!",
  • "email_subject": "Airwall Invite",
  • "emails":
    [
    ],
  • "expires_at": "2019-01-01T10:15:00.000Z",
  • "hipservice_group_ids":
    [
    ],
  • "name_schema": "${email_name} - ${hipswitch_type}",
  • "overlay_device_ip_start": "",
  • "overlay_network_ids": [ ],
  • "tag_refs":
    [
    ],
  • "uniq_ip": ""
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "admin_ip": "203.0.113.254",
  • "created_at": "2018-08-28T22:05:25.971Z",
  • "email_message": "Please find your Airwall Invite!",
  • "email_subject": "Airwall Invite",
  • "hip_invite_recipients":
    [
    ],
  • "id": "60ecdcda-4ef5-4e7b-8959-855de1662839",
  • "person_id": "b45d4567-1234-def7-abc1-1234567d58f2",
  • "tags":
    [
    ],
  • "updated_at": "2018-08-28T22:05:25.971Z"
}

show

Returns a single Airwall invite and its recipients

path Parameters
id
required
string

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /invites/{id}
http://localhost/api/v1/invites/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "admin_ip": "203.0.113.254",
  • "created_at": "2018-08-28T22:05:25.971Z",
  • "email_message": "Please find your Airwall Invite!",
  • "email_subject": "Airwall Invite",
  • "hip_invite_recipients":
    [
    ],
  • "id": "60ecdcda-4ef5-4e7b-8959-855de1662839",
  • "person_id": "b45d4567-1234-def7-abc1-1234567d58f2",
  • "updated_at": "2018-08-28T22:05:25.971Z"
}

Jobs

show

Returns the status of a job

path Parameters
id
required
string

Job id

Responses

200

Success

201

Created

400

Bad Request

get /jobs/{id}
http://localhost/api/v1/jobs/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Licensing

offline_mode

Enable or disable secure offline sync mode

Request Body schema: application/json

Whether secure offline sync mode should be enabled

enabled
required
boolean

Whether to enable secure offline mode

Responses

200

success

400

Not Found

403

Forbidden

post /licensing/offline_mode
http://localhost/api/v1/licensing/offline_mode

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "enabled": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "enabled": true
}

license_skus

Returns all license SKUs

Responses

200

Success

get /licensing/license_skus
http://localhost/api/v1/licensing/license_skus

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    },
  • {
    }
]

get_prov_requests

Returns all pending provisioning requests.

Responses

200

Success

get /licensing/prov_requests
http://localhost/api/v1/licensing/prov_requests

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    }
]

grant_prov_requests

Grant or Deny a provisioning request.

Request Body schema: application/json

Grant or Deny a provisioning request.

grant
required
string

Boolean true or false to grant or deny a provisioning request.

id
required
Array of strings

An array of ID strings

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /licensing/prov_requests
http://localhost/api/v1/licensing/prov_requests

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "grant": true,
  • "id":
    [
    ]
}

get_prov_request

Returns a single provisioning request.

path Parameters
licenseId
required
string

Responses

200

Success

404

Not Found

422

Unprocessable Entity

get /licensing/prov_requests/{licenseId}
http://localhost/api/v1/licensing/prov_requests/{licenseId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "display_model": "Airwall-300v",
  • "entity_uid": "EC27F4DFAF07",
  • "id": "ed7f457c-c264-453e-944c-0ec4d1df7692",
  • "status": "grant",
  • "timestamp": "2018-08-28T22:18:24.097Z",
  • "uuid": "ed7f457c-c264-453e-944c-0ec4d1df7692"
}

modify_prov_request

Modify the status of a single provisioning request.

path Parameters
licenseId
required
string
Request Body schema: application/json

New state of provisioning request. Valid options: ['requested']

status
required
string

New status of provisioning request

Responses

200

Success

400

Bad Request

404

Not Found

post /licensing/prov_requests/{licenseId}
http://localhost/api/v1/licensing/prov_requests/{licenseId}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "status": "requested"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "display_model": "Airwall-300v",
  • "entity_uid": "EC27F4DFAF07",
  • "id": "ed7f457c-c264-453e-944c-0ec4d1df7692",
  • "status": "requested",
  • "timestamp": "2018-08-28T22:18:24.097Z",
  • "uuid": "ed7f457c-c264-453e-944c-0ec4d1df7692"
}

sync

Synchronize your license data.

Responses

200

Success

403

Forbidden

503

Service Unavailable

post /licensing/sync
http://localhost/api/v1/licensing/sync

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "sync_warnings": [ ]
}

sync_export

Export an Airwall Conductor sync package. Used to manually sync a Conductor.

Responses

200

Success

403

Forbidden

get /licensing/sync_export
http://localhost/api/v1/licensing/sync_export

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "auth_data": "3DjRbQ0G41fggfuE4lsQ==",
  • "auth_tag": "UcK4mz/IMNlMW84og==",
  • "cert_subject": "/C=US/O=Asguard/OU=AMA/CN=Test-AMA-Root",
  • "data": "VqsTnP2yUK3BHlyUTI+NLKb63MzVtoOJKCB",
  • "iv": "G2HfkKUp4xovibKu",
  • "key": "123cigHmo12345678mItrGGABCDEF0clJKjYs16RnD3FDkOk/CABCDOzJdZn+g="
}

sync_import

Import an Airwall Conductor sync package response. Used to manually sync a Conductor.

Request Body schema: application/json

For import and export of Conductor sync packages.

auth_data
required
string

Auto-generated field. Do not modify.

auth_tag
required
string

Auto-generated field. Do not modify.

cert_subject
required
string

Auto-generated field. Do not modify.

data
required
string

Auto-generated field. Do not modify.

iv
required
string

Auto-generated field. Do not modify.

key
required
string

Auto-generated field. Do not modify.

Responses

200

Success

400

Bad Request

403

Forbidden

post /licensing/sync_import
http://localhost/api/v1/licensing/sync_import

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "auth_data": "1234aBCdeFghjklm4567==",
  • "auth_tag": "AbcdHi/jKlmno123q==",
  • "cert_subject": "/C=US/O=Asguard/OU=AMA/CN=Test-AMA-Root",
  • "data": "CdefabC7Hys3HlyU98+HdjHb7jbHtoOJKCB",
  • "iv": "ABcdefgH1234jkl7",
  • "key": "1234AbcdeFgHiJ1234klnmOpqr1234stuvWXYzs12345678kOk/abCDefghijk+g="
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

get_vouchers

Returns a collection of vouchers.

Responses

200

Success

get /licensing/vouchers
http://localhost/api/v1/licensing/vouchers

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

add_voucher

Add a licensing voucher.

Request Body schema: application/json

Add a licensing voucher.

code
required
string

Tempered Networks voucher code.

Responses

200

Success

403

Forbidden

503

Service Unavailable

post /licensing/vouchers
http://localhost/api/v1/licensing/vouchers

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "code": "A123B45678911234"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "code": "A123B45678911234",
  • "expires_at": null,
  • "id": "b467bb5d-0987-4756-af7f-c0855ad2cec0",
  • "license_blocks": [ ],
  • "status": "processing",
  • "timestamp": "2018-08-28T22:23:30.344Z",
  • "uuid": "b467bb5d-0987-4756-af7f-c0855ad2cec0"
}

delete_voucher

Delete a licensing voucher.

path Parameters
voucherId
required
integer <int32>

Voucher ID

Responses

200

Success

403

Forbidden

422

Unprocessable Entity

delete /licensing/vouchers/{voucherId}
http://localhost/api/v1/licensing/vouchers/{voucherId}

get_voucher

Returns a single voucher setting.

path Parameters
voucherId
required
string

Voucher ID

Responses

200

Success

404

Not Found

422

Unprocessable Entity

get /licensing/vouchers/{voucherId}
http://localhost/api/v1/licensing/vouchers/{voucherId}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "code": "A123B45678911234",
  • "expires_at": null,
  • "id": "d36a2706-2f71-4678-bf44-b7892237c285",
  • "license_blocks":
    [
    ],
  • "status": "active",
  • "timestamp": "2018-08-28T20:15:21.265Z",
  • "uuid": "d36a2706-2f71-4678-bf44-b7892237c285"
}

Overlay Network Devices

destroy

Removes device groups and devices from an overlay policy.

Request Body schema: application/json

Removes device groups and devices from an overlay policy.

device_group_ids
required
Array of strings

An Array of device group ID strings

network_id
required
string

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

delete /overlay_network_devices
http://localhost/api/v1/overlay_network_devices

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "device_group_ids":
    [
    ],
  • "network_id": "bd03d291-699d-4d33-af1c-493edea60bb3"
}

create

Adds device groups and devices to an overlay policy.

Request Body schema: application/json

Adds device groups and devices to an overlay policy.

device_group_ids
required
Array of strings

An Array of device group ID strings

network_id
required
string

Responses

201

Created

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /overlay_network_devices
http://localhost/api/v1/overlay_network_devices

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "device_group_ids":
    [
    ],
  • "network_id": "bd03d291-699d-4d33-af1c-493edea60bb3"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "can_edit": true,
  • "description": "API Overlay created by automated testing.",
  • "device_groups":
    [
    ],
  • "enabled": true,
  • "hipservices":
    [
    ],
  • "id": "bd03d291-699d-4d33-af1c-493edea60bb3",
  • "name": "API Automation Overlay",
  • "policy": [ ],
  • "uuid": "bd03d291-699d-4d33-af1c-493edea60bb3",
  • "vlan":
    {
    }
}

Unblock policy

Removes policy block between two device groups/devices.

Request Body schema: application/json
network_id
required
string

ID of network to unblock policy on

device_group_1
required
string

ID of device group 1

device_group_2
required
string

ID of device group 2

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

delete /overlay_network_devices/block
http://localhost/api/v1/overlay_network_devices/block

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "network_id": "bd03d291-699d-4d33-af1c-493edea60bb3",
  • "device_group_1": "49bd39d8-76ea-4c77-90bb-51f86cc63cc1",
  • "device_group_2": "ed5c1e9b-9b7d-49da-98f7-44860ea92b14"
}

Block policy

Adds policy block between two device groups/devices.

Request Body schema: application/json
network_id
required
string

ID of network to block policy on

device_group_1
required
string

ID of device group 1

device_group_2
required
string

ID of device group 2

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /overlay_network_devices/block
http://localhost/api/v1/overlay_network_devices/block

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "network_id": "bd03d291-699d-4d33-af1c-493edea60bb3",
  • "device_group_1": "49bd39d8-76ea-4c77-90bb-51f86cc63cc1",
  • "device_group_2": "ed5c1e9b-9b7d-49da-98f7-44860ea92b14"
}

disconnect

Removes policy between two device groups/devices.

Request Body schema: application/json
network_id
required
string

ID of network to remove policy from

policies
required
Array of objects (PolicyPair)

Array of device group policy pair IDs

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

delete /overlay_network_devices/trust
http://localhost/api/v1/overlay_network_devices/trust

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "network_id": "bd03d291-699d-4d33-af1c-493edea60bb3",
  • "policies":
    [
    ]
}

connect

Establishes policy between two device groups/devices.

Request Body schema: application/json
network_id
required
string

ID of network to add policy to

policies
required
Array of objects (PolicyPair)

Array of device group policy pair IDs

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /overlay_network_devices/trust
http://localhost/api/v1/overlay_network_devices/trust

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "network_id": "bd03d291-699d-4d33-af1c-493edea60bb3",
  • "policies":
    [
    ]
}

Overlay Networks

remove network people

Delete multiple people from a network.

path Parameters
id
required
string

Overlay Network ID

Request Body schema: application/json

Array of user IDs.

person_group_ids
required
Array of strings

An array of ID strings

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

delete /overlay_networks/{id}/people
http://localhost/api/v1/overlay_networks/{id}/people

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "person_group_ids":
    [
    ]
}

index people

Returns a collection of network managers and members.

path Parameters
id
required
string

Overlay Network ID

Responses

200

Success

get /overlay_networks/{id}/people
http://localhost/api/v1/overlay_networks/{id}/people

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    },
  • {
    }
]

add network people

Add people to the overlay network.

path Parameters
id
required
string

Overlay Network ID

Request Body schema: application/json

Array of network people.

network_people
required
Array of objects

An array of network people

Responses

200

Success

400

Bad Request

403

Forbidden

post /overlay_networks/{id}/people
http://localhost/api/v1/overlay_networks/{id}/people

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "network_people":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    },
  • {
    },
  • {
    }
]

bulk_destroy

Delete multiple overlay networks.

Request Body schema: application/json

Delete multiple overlay networks.

overlay_network_ids
required
Array of strings

An array of ID strings

Responses

200

Success

403

Forbidden

422

Unprocessable Entity

delete /overlay_networks
http://localhost/api/v1/overlay_networks

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "overlay_network_ids":
    [
    ]
}

index

Returns a collection of overlay networks.

query Parameters
filter
string

filter

sort
string

sort

limit
integer <int32>

limit

offset
integer <int32>

offset

paginate
boolean
Default: false

Response will include metadata to allow easy pagination through all available data. Default will change to true in v2.3.

Responses

200

Success

400

Bad Request

get /overlay_networks
http://localhost/api/v1/overlay_networks

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    [
    ],
  • "metadata":
    {
    }
}

create

Create a new overlay network.

Request Body schema: application/json
description
string

Overlay network description

enabled
boolean

Enable network communications

name
required
string

Overlay network name

set_current_user_as_manager
boolean

Set creator of network as its manager

Responses

201

Created

400

Bad Request

403

Forbidden

post /overlay_networks
http://localhost/api/v1/overlay_networks

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "Core services network",
  • "enabled": true,
  • "name": "core-services",
  • "set_current_user_as_manager": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "can_edit": true,
  • "description": "API Overlay created by automated testing.",
  • "device_groups": [ ],
  • "enabled": true,
  • "hipservices": [ ],
  • "id": "b54a301c-2647-4844-bbc1-8d6e736f51f0",
  • "name": "API Overlay (non persistent)",
  • "policy": [ ],
  • "uuid": "b54a301c-2647-4844-bbc1-8d6e736f51f0",
  • "vlan":
    {
    }
}

destroy

Delete an existing overlay network.

path Parameters
id
required
string

Overlay Network ID

Responses

200

Success

403

Forbidden

422

Unprocessable Entity

delete /overlay_networks/{id}
http://localhost/api/v1/overlay_networks/{id}

show

Returns a single overlay network.

path Parameters
id
required
string

Overlay Network ID

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /overlay_networks/{id}
http://localhost/api/v1/overlay_networks/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "can_edit": true,
  • "description": null,
  • "device_groups":
    [
    ],
  • "enabled": true,
  • "hipservices":
    [
    ],
  • "id": "cd4a9ed7-3ab4-484e-bf44-5feff5fbf2ea",
  • "name": "Overlay",
  • "policy":
    [
    ],
  • "uuid": "cd4a9ed7-3ab4-484e-bf44-5feff5fbf2ea",
  • "vlan":
    {
    }
}

update

Update an existing overlay network (All fields are optional).

path Parameters
id
required
string

Overlay network ID

Request Body schema: application/json
description
string

Overlay network description

enabled
boolean

Enable network communications

name
string

Overlay network name

set_current_user_as_manager
boolean

Set creator of network as its manager

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

patch /overlay_networks/{id}
http://localhost/api/v1/overlay_networks/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "Core services network",
  • "enabled": true,
  • "name": "core-services",
  • "set_current_user_as_manager": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "can_edit": true,
  • "description": null,
  • "device_groups":
    [
    ],
  • "enabled": true,
  • "hipservices":
    [
    ],
  • "id": "cd4a9ed7-3ab4-484e-bf44-5feff5fbf2ea",
  • "name": "Overlay",
  • "policy":
    [
    ],
  • "uuid": "cd4a9ed7-3ab4-484e-bf44-5feff5fbf2ea",
  • "vlan":
    {
    }
}

tag_members

Directly set tag members for overlay_network.

path Parameters
id
required
string

Overlay Network ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /overlay_networks/{id}/tag_members
http://localhost/api/v1/overlay_networks/{id}/tag_members

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

tag_refresh

Refresh expiration time for tag(s) on overlay_network.

path Parameters
id
required
string

Overlay Network ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /overlay_networks/{id}/tag_refresh
http://localhost/api/v1/overlay_networks/{id}/tag_refresh

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

untag

Remove tag(s) from overlay_network.

path Parameters
id
required
string

Overlay Network ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

delete /overlay_networks/{id}/tags
http://localhost/api/v1/overlay_networks/{id}/tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

tag

Add tag(s) to overlay_network.

path Parameters
id
required
string

Overlay Network ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /overlay_networks/{id}/tags
http://localhost/api/v1/overlay_networks/{id}/tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

PCI

policies

List of trusted device group polices

Responses

200

Success

403

Forbidden

get /pci/policies
http://localhost/api/v1/pci/policies

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

user activities

List of changes to records in the system

Responses

200

Success

403

Forbidden

get /pci/user_activities
http://localhost/api/v1/pci/user_activities

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

People

index

Returns a collection of People settings.

query Parameters
filter
string

filter

sort
string

sort

limit
integer <int32>

limit

offset
integer <int32>

offset

paginate
boolean
Default: false

Response will include metadata to allow easy pagination through all available data. Default will change to true in v2.3.

Responses

200

Success

400

Bad Request

get /people
http://localhost/api/v1/people

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    [
    ],
  • "metadata":
    {
    }
}

create

Create a new Person.

Request Body schema: application/json

Create a new Person.

description
string

description

email
string

Email

email_alert_level
string

Level at which alerts should be emailed to user (Options: none, info, warning, error). Email server must be configured.

is_active
required
string

Boolean true or false to set Person's enable status

is_api_user
string

Boolean true or false to enable/disable Person's api access

name
required
string

Full Name

password
required
string

Password

phone1
string

Phone 1

phone2
string

Phone 2

provider
string

Authentication provider

role
required
string

Person's Role ( administrator, editor, viewer, remote)

username
required
string

Username

Responses

201

Created

403

Forbidden

post /people
http://localhost/api/v1/people

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "Robin of the Hood",
  • "email": "robin@stealfromtherich.com",
  • "email_alert_level": "none",
  • "is_active": true,
  • "is_api_user": true,
  • "name": "Robin Longstride",
  • "password": "actualpassword",
  • "phone1": "217-555-1234",
  • "phone2": "217-555-1234",
  • "provider": null,
  • "role": "administrator",
  • "username": "robinhood_test_crud_person"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "current_sign_in_at": null,
  • "description": "Robin of the Hood",
  • "email": "robin@stealfromtherich.com",
  • "email_alert_level": "none",
  • "id": "bd570507-7c1e-40a7-b961-216eb56c8142",
  • "is_active": true,
  • "is_api_user": true,
  • "is_locked": false,
  • "me": false,
  • "name": "Robin Longstride",
  • "phone1": "217-555-1234",
  • "phone2": "217-555-1234",
  • "remote_session_active": false,
  • "role": "administrator",
  • "username": "robinhood_test_crud_person",
  • "uuid": "bd570507-7c1e-40a7-b961-216eb56c8142",
  • "provider": null
}

destroy

Delete a Person.

path Parameters
id
required
string

Person ID

Responses

200

Success

403

Forbidden

422

Unprocessable Entity

delete /people/{id}
http://localhost/api/v1/people/{id}

show

Returns a single Person setting.

path Parameters
id
required
string

Person ID

Responses

200

Success

404

Not Found

422

Unprocessable Entity

get /people/{id}
http://localhost/api/v1/people/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "current_sign_in_at": null,
  • "description": "Robin of the Hood",
  • "email": "robin@stealfromtherich.com",
  • "email_alert_level": "none",
  • "id": "bd570507-7c1e-40a7-b961-216eb56c8142",
  • "is_active": true,
  • "is_api_user": true,
  • "is_locked": false,
  • "me": false,
  • "name": "Robin Longstride",
  • "phone1": "217-555-1234",
  • "phone2": "217-555-1234",
  • "remote_session_active": false,
  • "role": "administrator",
  • "username": "robinhood_test_crud_person",
  • "uuid": "bd570507-7c1e-40a7-b961-216eb56c8142",
  • "provider": null
}

update

Update a Person setting (All fields are optional).

path Parameters
id
required
string

Person ID

Request Body schema: application/json

Update a Person setting (All fields are optional).

description
string

description

email
string

Email

email_alert_level
string

Level at which alerts should be emailed to user (Options: none, info, warning, error). Email server must be configured.

is_active
required
string

Boolean true or false to set Person's enable status

is_api_user
string

Boolean true or false to enable/disable Person's api access

name
required
string

Full Name

password
required
string

Password

phone1
string

Phone 1

phone2
string

Phone 2

provider
string

Authentication provider

role
required
string

Person's Role ( administrator, editor, viewer, remote)

username
required
string

Username

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

patch /people/{id}
http://localhost/api/v1/people/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "Robin of the Hood",
  • "email": "robin@stealfromtherich.com",
  • "email_alert_level": "none",
  • "is_active": true,
  • "is_api_user": true,
  • "name": "Robin Longstride",
  • "password": "actualpassword",
  • "phone1": "217-555-1234",
  • "phone2": "217-555-1234",
  • "provider": null,
  • "role": "administrator",
  • "username": "robinhood_test_crud_person"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "current_sign_in_at": null,
  • "description": "Robin of the Hood",
  • "email": "robin@stealfromtherich.com",
  • "email_alert_level": "none",
  • "id": "bd570507-7c1e-40a7-b961-216eb56c8142",
  • "is_active": true,
  • "is_api_user": true,
  • "is_locked": false,
  • "me": false,
  • "name": "Robin Longstride",
  • "phone1": "217-555-1234",
  • "phone2": "217-555-1234",
  • "remote_session_active": false,
  • "role": "administrator",
  • "username": "robinhood_test_crud_person",
  • "uuid": "bd570507-7c1e-40a7-b961-216eb56c8142",
  • "provider": null
}

expire_password

Force expiration of person's password. Must be a system admin.

path Parameters
id
required
string

Person ID

Responses

200

Success

403

Forbidden

404

Not Found

post /people/{id}/expire_password
http://localhost/api/v1/people/{id}/expire_password

tag_members

Directly set tag members for person.

path Parameters
id
required
string

Person ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /people/{id}/tag_members
http://localhost/api/v1/people/{id}/tag_members

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

tag_refresh

Refresh expiration time for tag(s) on person.

path Parameters
id
required
string

Person ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /people/{id}/tag_refresh
http://localhost/api/v1/people/{id}/tag_refresh

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

untag

Remove tag(s) from person.

path Parameters
id
required
string

Person ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

delete /people/{id}/tags
http://localhost/api/v1/people/{id}/tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

tag

Add tag(s) to person.

path Parameters
id
required
string

Person ID

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /people/{id}/tags
http://localhost/api/v1/people/{id}/tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

Person Groups

index

Returns a collection of person groups.

query Parameters
filter
string

filter

sort
string

sort

limit
integer <int32>

limit

offset
integer <int32>

offset

paginate
boolean
Default: false

Response will include metadata to allow easy pagination through all available data. Default will change to true in v2.3.

Responses

200

Success

get /person_groups
http://localhost/api/v1/person_groups

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    [
    ],
  • "metadata":
    {
    }
}

create

Create a new person group.

Request Body schema: application/json

Create a new person group.

name
string

Name of person group

description
string

Description of person group

person_ids
Array of strings

An array of ID strings

Responses

201

Created

400

Bad Request

403

Forbidden

422

Unprocessable Entity

post /person_groups
http://localhost/api/v1/person_groups

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "Administrators",
  • "description": "Administrators of important resources",
  • "person_ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "API person_group created by automated testing.",
  • "person_ids":
    [
    ],
  • "id": "a9890571-369a-4a77-a80b-8de89ed1f008",
  • "name": "API person_group",
  • "user_auth_tags": [ ]
}

destroy

Delete an existing person group.

path Parameters
id
required
string

Person Group ID

Responses

200

Success

403

Forbidden

delete /person_groups/{id}
http://localhost/api/v1/person_groups/{id}

show

Returns a single person group.

path Parameters
id
required
string

Person Group ID

Responses

200

Success

403

Forbidden

404

Not Found

get /person_groups/{id}
http://localhost/api/v1/person_groups/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "API person_group created by automated testing.",
  • "person_ids":
    [
    ],
  • "id": "55535846-ae0f-4327-be88-f3cdd1dd9463",
  • "name": "API person_group",
  • "user_auth_tags": [ ]
}

update

Update an existing person group (All fields are optional).

path Parameters
id
required
string

Person Group ID

Request Body schema: application/json

Update an existing person group (All fields are optional).

description
string

Device group description

person_ids
Array of strings

An array of ID strings

name
string

Device group name

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

patch /person_groups/{id}
http://localhost/api/v1/person_groups/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "Security cameras person group.",
  • "person_ids":
    [
    ],
  • "name": "Cameras-01"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "Security cameras person group.",
  • "person_ids":
    [
    ],
  • "name": "Administrators",
  • "user_auth_tags": [ ]
}

add

Add people to an existing person group.

path Parameters
id
required
string

Person Group ID

Request Body schema: application/json

An array of ID strings

person_ids
required
Array of strings

An array of ID strings

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /person_groups/{id}/add
http://localhost/api/v1/person_groups/{id}/add

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "person_ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "API person_group created by automated testing.",
  • "person_ids":
    [
    ],
  • "id": "55535846-ae0f-4327-be88-f3cdd1dd9463",
  • "name": "API person_group - Patched",
  • "user_auth_tags": [ ]
}

remove

Remove devices from an existing person group.

path Parameters
id
required
string

Person Group ID

Request Body schema: application/json

An array of ID strings

person_ids
required
Array of strings

An array of ID strings

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

delete /person_groups/{id}/remove
http://localhost/api/v1/person_groups/{id}/remove

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "person_ids":
    [
    ]
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "API person_group created by automated testing.",
  • "person_ids": [ ],
  • "id": "55535846-ae0f-4327-be88-f3cdd1dd9463",
  • "name": "API person_group - Patched",
  • "user_auth_tags": [ ]
}

Provisioning

request

Provision a new Airwall Conductor

Request Body schema: application/json
proxy_address
string

Address of proxy server

proxy_password
string

Password for proxy server

proxy_port
integer

Port for proxy server

proxy_username
string

Username for proxy server

use_proxy
boolean

Use a proxy server for provisioning

voucher_code
string

Tempered Networks voucher code

Responses

200

success

400

Bad Request

post /provisioning/request
http://localhost/api/v1/provisioning/request

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "proxy_address": "192.168.2.90",
  • "proxy_password": "password123",
  • "proxy_port": "80",
  • "proxy_username": "admin",
  • "use_proxy": true,
  • "voucher_code": "ABCDEF0123456789"
}

sync_export

Export an Airwall Conductor provisioning package.Used to manually provision a Conductor

query Parameters
voucher_code
required
string

Tempered Networks voucher code

Responses

200

success

400

Bad Request

get /provisioning/sync_export
http://localhost/api/v1/provisioning/sync_export

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

sync_import

Import an Airwall Conductor provisioning package response. Used to manually provisioning a Conductor

Request Body schema: application/json

Provision a Conductor manually

auth_data
required
string

Cryptographic auth data

auth_tag
required
string

Cryptographic auth tag

cert_subject
required
string

Certificate subject of conductor sync package belongs to

data
required
string

Encrypted data

iv
required
string

Cryptographic initializaion vector

key
required
string

Encrypted key

Responses

200

success

400

Bad Request

post /provisioning/sync_import
http://localhost/api/v1/provisioning/sync_import

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "auth_data": "string",
  • "auth_tag": "string",
  • "cert_subject": "string",
  • "data": "string",
  • "iv": "string",
  • "key": "string"
}

Relay Rules

index

Returns a collection of relay rules

Responses

200

Success

get /relay_rules
http://localhost/api/v1/relay_rules

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

create

Create a new relay rule

Request Body schema: application/json
description
string
name
required
string

Responses

201

Created

400

Bad Request

403

Forbidden

post /relay_rules
http://localhost/api/v1/relay_rules

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "This is a test relay rule",
  • "name": "Test Relay Rule"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "This is a test relay rule",
  • "group_1": { },
  • "group_2": { },
  • "id": "69ecc675-b8d3-406c-9be9-a64ed45ea755",
  • "name": "Test Relay Rule",
  • "relay": { }
}

destroy

Delete an existing relay rule

path Parameters
id
required
string

Airwall ID

Responses

200

Success

403

Forbidden

422

Unprocessable Entity

delete /relay_rules/{id}
http://localhost/api/v1/relay_rules/{id}

show

Returns a single relay rule

path Parameters
id
required
string

Airwall ID

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /relay_rules/{id}
http://localhost/api/v1/relay_rules/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "This is a test relay rule",
  • "group_1":
    {
    },
  • "group_2":
    {
    },
  • "id": "69ecc675-b8d3-406c-9be9-a64ed45ea755",
  • "name": "Test Relay Rule",
  • "relay":
    {
    }
}

update

Update an existing relay rule

path Parameters
id
required
string

Airwall ID

Request Body schema: application/json
description
string
name
string

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

patch /relay_rules/{id}
http://localhost/api/v1/relay_rules/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "This is a test relay rule",
  • "name": "Test Relay Rule"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "This is a test relay rule",
  • "group_1":
    {
    },
  • "group_2":
    {
    },
  • "id": "69ecc675-b8d3-406c-9be9-a64ed45ea755",
  • "name": "Test Relay Rule",
  • "relay":
    {
    }
}

add

Add Airwall or Airwall groups to a relay rule

path Parameters
id
required
string

Airwall ID

Request Body schema: application/json
group_1
object (group_1)
group_2
object (group_2)
relay
object (relay)

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /relay_rules/{id}/add
http://localhost/api/v1/relay_rules/{id}/add

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "group_1":
    {
    },
  • "group_2":
    {
    },
  • "relay":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "This is a test relay rule",
  • "group_1":
    {
    },
  • "group_2":
    {
    },
  • "id": "69ecc675-b8d3-406c-9be9-a64ed45ea755",
  • "name": "Test Relay Rule",
  • "relay":
    {
    }
}

remove

Remove Airwalls or Airwall groups from a relay rule

path Parameters
id
required
string

Airwall ID

Request Body schema: application/json
group_1
object (group_1)
group_2
object (group_2)
relay
object (relay)

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

post /relay_rules/{id}/remove
http://localhost/api/v1/relay_rules/{id}/remove

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "group_1":
    {
    },
  • "group_2":
    {
    },
  • "relay":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "description": "This is a test relay rule",
  • "group_1": { },
  • "group_2": { },
  • "id": "69ecc675-b8d3-406c-9be9-a64ed45ea755",
  • "name": "Test Relay Rule",
  • "relay": { }
}

Settings

Show Airwall Conductor general and network settings

Show current Airwall Conductor configuration

Responses

200

Success

403

Forbidden

get /settings/network
http://localhost/api/v1/settings/network

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "completed": true,
  • "db_status": "rw",
  • "device_id": "Unavailable",
  • "domain_name": "",
  • "eula": true,
  • "firmware_revision": "test-revision-of-no-consequence",
  • "hostname": "conductor",
  • "hotfix_list": [ ],
  • "network_interface_configs":
    [
    ],
  • "product_model": "SCMP-2p",
  • "product_platform": "401v-101",
  • "rails_log_level": "info",
  • "serial_number": "Unavailable",
  • "system_log_level": "info",
  • "version": ""
}

Update Airwall Conductor general and network settings

Update Airwall Conductor configuration

Request Body schema: application/json
domain_name
string

Domain name for the Conductor

hostname
string

Hostname for the Conductor

nic1
object (NicConfig)
nic2
object (NicConfig)
rails_log_level
string
Enum: "debug" "info" "warn" "error"

Log level for the webapp

system_log_level
string
Enum: "debug" "info" "warn" "error"

Log level for system processes

Responses

200

Success

403

Forbidden

patch /settings/network
http://localhost/api/v1/settings/network

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "domain_name": "domain.com",
  • "hostname": "Conductor",
  • "nic1":
    {
    },
  • "nic2":
    {
    },
  • "rails_log_level": "info",
  • "system_log_level": "info"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "completed": true,
  • "db_status": "rw",
  • "device_id": "Unavailable",
  • "domain_name": "",
  • "eula": true,
  • "firmware_revision": "test-revision-of-no-consequence",
  • "hostname": "conductor",
  • "hotfix_list": [ ],
  • "network_interface_configs":
    [
    ],
  • "product_model": "SCMP-2p",
  • "product_platform": "401v-101",
  • "rails_log_level": "info",
  • "serial_number": "Unavailable",
  • "system_log_level": "info",
  • "version": ""
}

show advanced settings

Show current advanced settings

Responses

200

Success

403

Forbidden

get /settings/advanced
http://localhost/api/v1/settings/advanced

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "cipher": "AES256_GCM",
  • "compress": true,
  • "disable_shared_key_encryption": false,
  • "dns_domain": "temperednetworks.corp",
  • "dns_servers":
    [
    ],
  • "esp_transform": "HMAC_SHA256",
  • "hip_lockdown":
    {
    },
  • "hip_port": 10500,
  • "lsi_prefix": 1,
  • "map_port": 8096,
  • "map_urls":
    [
    ],
  • "pci_enabled": true,
  • "shared_endbox_key": "LV6XYYuYfUWUD"
}

update advanced settings

Update advanced settings

Request Body schema: application/json

Update existing advanced settings.

cipher
string
Enum: "AES256_GCM" "AES256_CBC"

Preferred cipher suite for encryption

compress
boolean

Use compression for encryption by default

disable_shared_key_encryption
boolean

Do not use shared key encryption

dns_domain
string

Domain used for app overlay DNS searches

dns_servers
Array of strings

DNS server IPs used on app overlays

esp_transform
string
Value: "HMAC_SHA256"

ESP transform to use for encryption by default

hip_lockdown
object

Lockdown mode settings

hip_port
integer

Port used for all HIP communication

lsi_prefix
integer

IPv4 prefix

map_port
integer

Port for Airwalls to communicate with the Airwall Conductor

map_urls
Array of strings

IP addresses or hostnames to connect to the Conductor on

pci_enabled
boolean

Enable PCI reporting

shared_endbox_key
string

Shared key used to validate the identity of the Conductor

Responses

200

Success

403

Forbidden

422

Unprocessable Entity

patch /settings/advanced
http://localhost/api/v1/settings/advanced

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "cipher": "AES256_GCM",
  • "compress": false,
  • "disable_shared_key_encryption": false,
  • "dns_domain": "temperednetworks.corp",
  • "dns_servers":
    [
    ],
  • "esp_transform": "HMAC_SHA256",
  • "hip_lockdown":
    {
    },
  • "hip_port": 10500,
  • "lsi_prefix": 1,
  • "map_port": 8096,
  • "map_urls":
    [
    ],
  • "pci_enabled": true,
  • "shared_endbox_key": "LV6XYYuYfUWUD"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "cipher": "AES256_GCM",
  • "compress": true,
  • "disable_shared_key_encryption": false,
  • "dns_domain": "temperednetworks.corp",
  • "dns_servers":
    [
    ],
  • "esp_transform": "HMAC_SHA256",
  • "hip_lockdown":
    {
    },
  • "hip_port": 10500,
  • "lsi_prefix": 1,
  • "map_port": 8096,
  • "map_urls":
    [
    ],
  • "pci_enabled": true,
  • "shared_endbox_key": "LV6XYYuYfUWUD"
}

show authentication settings

Show current authentication settings

Responses

200

Success

403

Forbidden

get /settings/authentication
http://localhost/api/v1/settings/authentication

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "allow_password_recovery": true,
  • "default_auth_provider": "local",
  • "default_user_auth_provider": "userpass",
  • "login_lockout_hours": 25,
  • "max_login_attempts": 25,
  • "password_complexity":
    [
    ],
  • "password_expiration_days": 180,
  • "password_length": 8,
  • "session_expiration_hours": 24,
  • "session_timeout_min": 120,
  • "token_expiration_days": 0,
  • "user_auth": false,
  • "user_auth_lockout": true,
  • "user_auth_lockout_linux": false,
  • "user_auth_storage": false,
  • "user_auth_timeout": 24
}

update authentication settings

Update authentication settings

Request Body schema: application/json

Update existing authentication settings.

allow_password_recovery
boolean

Show "Forgot Your Password?" link

default_auth_provider
string
Enum: "local" "ldap" "openid_connect"

Default authentication provider for Conductor login

default_user_auth_provider
string
Enum: "all" "userpass" "openid_connect"

Default authentication provider for Airwall client authentication

login_lockout_hours
integer

Hours to prevent user login after lockout

max_login_attempts
integer

Login attempts before lockout (0 to disable)

password_complexity
Array of strings
Items Enum: "mixed" "digit" "symbol"

Password complexity requirements

password_expiration_days
integer

Days before passwords expire (0 to disable)

password_length
integer

Minimum password length

session_expiration_hours
integer

Hours before user UI session expires

session_timeout_min
integer

Minutes before user will be logged out for inactivity

token_expiration_days
integer

Days before API tokens expire (0 to disable)

user_auth
boolean

Require app authentication

user_auth_storage
boolean

Airwall client's remote session will remain authenticated across restarts until it times out

user_auth_timeout
integer

User auth session timeout (in hours)

user_auth_lockout
boolean

Prevent any clients that do not support user authentication from connecting to a network

user_auth_lockout_linux
boolean

Make an exception for Linux clients since they do not support user authentication and are typically deployed in a server environment

Responses

200

Success

403

Forbidden

422

Unprocessable Entity

patch /settings/authentication
http://localhost/api/v1/settings/authentication

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "allow_password_recovery": true,
  • "default_auth_provider": "local",
  • "default_user_auth_provider": "userpass",
  • "login_lockout_hours": 24,
  • "max_login_attempts": 25,
  • "password_complexity":
    [
    ],
  • "password_expiration_days": 180,
  • "password_length": 8,
  • "session_expiration_hours": 24,
  • "session_timeout_min": 120,
  • "token_expiration_days": 0,
  • "user_auth": false,
  • "user_auth_storage": false,
  • "user_auth_timeout": 24,
  • "user_auth_lockout": true,
  • "user_auth_lockout_linux": false
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "allow_password_recovery": true,
  • "default_auth_provider": "local",
  • "default_user_auth_provider": "userpass",
  • "login_lockout_hours": 25,
  • "max_login_attempts": 25,
  • "password_complexity":
    [
    ],
  • "password_expiration_days": 180,
  • "password_length": 8,
  • "session_expiration_hours": 24,
  • "session_timeout_min": 120,
  • "token_expiration_days": 0,
  • "user_auth": false,
  • "user_auth_lockout": true,
  • "user_auth_lockout_linux": false,
  • "user_auth_storage": false,
  • "user_auth_timeout": 24
}

show monitor/alert settings

Show current monitor/alert settings

Responses

200

Success

403

Forbidden

get /settings/monitor_alert
http://localhost/api/v1/settings/monitor_alert

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "monitor_flapping_minimum": 3,
  • "monitor_flapping_minutes": 10
}

update monitor/alert settings

Update monitor/alert settings

Request Body schema: application/json

Update existing monitor/alert settings.

monitor_flapping_minimum
integer [ 2 .. 1000 ]

Number of events required before frequent events warning

monitor_flapping_minutes
integer [ 1 .. 1000 ]

Number of minutes events must occur within for frequent events warning

Responses

200

Success

403

Forbidden

422

Unprocessable Entity

patch /settings/monitor_alert
http://localhost/api/v1/settings/monitor_alert

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "monitor_flapping_minimum": 3,
  • "monitor_flapping_minutes": 10
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "monitor_flapping_minimum": 3,
  • "monitor_flapping_minutes": 10
}

show proxy server settings

Show current proxy server settings

Responses

200

Success

403

Forbidden

get /settings/proxy_server
http://localhost/api/v1/settings/proxy_server

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "proxy_address": "192.168.16.103",
  • "proxy_password": "[filtered]",
  • "proxy_port": 3128,
  • "proxy_username": "proxyusername",
  • "use_proxy": true
}

update proxy server settings

Update proxy server settings

Request Body schema: application/json

Update existing proxy server settings.

proxy_address
string

IP address or hostname of proxy server

proxy_password
string

Password for proxy server

proxy_port
integer

Port to connect to proxy server on

proxy_username
string

Proxy server username

use_proxy
boolean

Enable proxy server

Responses

200

Success

403

Forbidden

422

Unprocessable Entity

patch /settings/proxy_server
http://localhost/api/v1/settings/proxy_server

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "proxy_address": "192.168.16.103",
  • "proxy_password": "Password123",
  • "proxy_port": 3128,
  • "proxy_username": "proxyusername",
  • "use_proxy": true
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "proxy_address": "192.168.16.103",
  • "proxy_password": "[filtered]",
  • "proxy_port": 3128,
  • "proxy_username": "proxyusername",
  • "use_proxy": true
}

Support Bundles

Get support bundle

Returns the most recent support bundle

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

get /support_bundles
http://localhost/api/v1/support_bundles

Response samples

Content type
application/json
Copy
Expand all Collapse all
"string"

Create new bundle

Starts a job to create a support bundle

Responses

202

Accepted

400

Bad Request

403

Forbidden

post /support_bundles
http://localhost/api/v1/support_bundles

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

Syslog Configuration

destroy

Remove remote syslog server configuration.

Responses

200

Success

403

Forbidden

delete /syslog_config
http://localhost/api/v1/syslog_config

show

Current remote syslog server configuration.

Responses

200

Success

403

Forbidden

get /syslog_config
http://localhost/api/v1/syslog_config

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "log_conductor": true,
  • "log_hipservices": true,
  • "port": 514,
  • "server": "192.168.33.33",
  • "use_tls": false
}

update

Update remote syslog server configuration.

Request Body schema: application/json

Modify one or all the fields of the syslog_config model

enabled
boolean

Enable remote logging settings

log_conductor
boolean
log_hipservices
boolean
port
required
string

Remote syslog server port

server
required
string

Remote syslog server URL

use_tls
boolean

Responses

200

Success

403

Forbidden

422

Unprocessable Entity

patch /syslog_config
http://localhost/api/v1/syslog_config

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "log_conductor": true,
  • "log_hipservices": true,
  • "port": "514",
  • "server": "192.168.33.33",
  • "use_tls": false
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "log_conductor": true,
  • "log_hipservices": true,
  • "port": 514,
  • "server": "192.168.33.33",
  • "use_tls": false
}

create

Add remote syslog server configuration.

Request Body schema: application/json

Server and port are required with either 'log_conductor' or 'log_hipservices' or both being true

enabled
boolean

Enable remote logging settings

log_conductor
boolean
log_hipservices
boolean
port
required
string

Remote syslog server port

server
required
string

Remote syslog server URL

use_tls
boolean

Responses

200

Success

403

Forbidden

422

Unprocessable Entity

post /syslog_config
http://localhost/api/v1/syslog_config

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "log_conductor": true,
  • "log_hipservices": true,
  • "port": "514",
  • "server": "192.168.33.33",
  • "use_tls": false
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "log_conductor": true,
  • "log_hipservices": true,
  • "port": 514,
  • "server": "192.168.33.33",
  • "use_tls": false
}

System

api_docs

Returns a JSON representation of the API documentation

Responses

200

Success

400

Bad Request

get /system/api_docs
http://localhost/api/v1/system/api_docs

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "swagger": "2.0",
  • "info":
    {
    },
  • "host": "localhost",
  • "basePath": "/api/v1",
  • "schemes":
    [
    ],
  • "consumes":
    [
    ],
  • "produces":
    [
    ],
  • "paths": { },
  • "definitions": { }
}

diagnostic

Starts a job to generate an Airwall Conductor diagnostic report

Responses

202

Accepted

400

Bad Request

403

Forbidden

get /system/diagnostic
http://localhost/api/v1/system/diagnostic

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

ping

Starts a job to ping an IP address or hostname

Request Body schema: application/json
ip
required
string

IP address or hostname to ping

Responses

202

Accepted

400

Bad Request

403

Forbidden

422

Unprocessable Entity

post /system/ping
http://localhost/api/v1/system/ping

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ip": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

reboot

Reboots the Airwall Conductor

Responses

200

Success

400

Bad Request

403

Forbidden

post /system/reboot
http://localhost/api/v1/system/reboot

traceroute

Starts a job to run traceroute on an IP address or hostname

Request Body schema: application/json
ip
required
string

IP address or hostname to perform traceroute on

Responses

202

Accepted

400

Bad Request

403

Forbidden

422

Unprocessable Entity

post /system/traceroute
http://localhost/api/v1/system/traceroute

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ip": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

Pcap

pcap

Returns a list of pcaps saved on the Airwall Conductor

Responses

200

Success

403

Forbidden

get /system/pcap
http://localhost/api/v1/system/pcap

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

remove_pcap

Removes a pcap file

path Parameters
id
required
string

Pcap id

Responses

200

Success

400

Bad Request

403

Forbidden

delete /system/pcap/{id}
http://localhost/api/v1/system/pcap/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

get_pcap

Returns a pcap file

path Parameters
id
required
string

Pcap id

Responses

200

Success

403

Forbidden

404

Not Found

get /system/pcap/{id}
http://localhost/api/v1/system/pcap/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
"string"

start_pcap

Starts a job to run a packet capture on the Airwall Conductor

Request Body schema: application/json
capture_interface
required
string

Interface on which to run the packet capture

protocol
string

Protocol to capture (any, icmp, tcp, udp, arp)

ip_address
string

IP address to capture

port
integer

Port to capture

max_size
integer

Maximum packet size to capture

max_time
integer

Time limit for packet capture (in minutes)

Responses

202

Accepted

403

Forbidden

422

Unprocessable Entity

post /system/pcap/start_pcap
http://localhost/api/v1/system/pcap/start_pcap

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "capture_interface": "hip0",
  • "protocol": "any",
  • "ip_address": "192.168.1.101",
  • "port": 80,
  • "max_size": 100,
  • "max_time": 1
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

stop_pcap

Starts a job to stop the running packet capture on the Airwall Conductor

Responses

202

Accepted

400

Bad Request

403

Forbidden

post /system/pcap/stop_pcap
http://localhost/api/v1/system/pcap/stop_pcap

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "job_id": "272e0685685a6fe7fb9e377aea4cfbfe",
  • "status_url": "{request_base_url}/api/v1/jobs/272e0685685a6fe7fb9e377aea4cfbfe"
}

Tags

bulk_destroy

Delete multiple tags.

Request Body schema: application/json

array of Tag References (IDs or Names)

tag_refs
required
Array of strings

array of Tag References (IDs or Names)

Responses

200

Success

403

Forbidden

delete /tags
http://localhost/api/v1/tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tag_refs":
    [
    ]
}

index

Returns a collection of tags.

query Parameters
filter
string

filter

sort
string

sort

limit
integer <int32>

limit

offset
integer <int32>

offset

paginate
boolean
Default: false

Response will include metadata to allow easy pagination through all available data. Default will change to true in v2.3.

Responses

200

Success

400

Bad Request

403

Forbidden

get /tags
http://localhost/api/v1/tags

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    [
    ],
  • "metadata":
    {
    }
}

create

Create a new tag.

Request Body schema: application/json

Create a new tag.

color
string

cosmetic; one of { black, blue, brown, gray, green, orange, purple, red, white, yellow }

name
required
string

name

ownership
string

one of { anyone, admins, user }, determines who may utilize this tag; if "user", then a valid tag_owner_id must also be given.

priority
string

cosmetic; determines tag sort order in lists. Lower numbers take precedence (1 = highest priority, 5 = default, etc.).

remove_if_unused
boolean

When a tag is removed from something, check to see if anything else uses it; if not then delete it.

tag_owner_id
string

if ownership == "user", then ID of the specific user who may utilize the tag (else, ignored).

usage_ttl
string

tagging an object will last for this amount of time (if 0, tagging never expires). Supported units: y, M, w, d, h, m, s (default: s). No spaces between parts. For example, these are equivalent: 16250, 16250s, 270m50s, and 4h30m50s.

Responses

201

Created

400

Bad Request

403

Forbidden

422

Unprocessable Entity

post /tags
http://localhost/api/v1/tags

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tags":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "api_uuid": "3857fb12-861c-4cef-9fb1-74e7190bcb20",
  • "canUse": true,
  • "can_edit": true,
  • "color": "red",
  • "id": 1,
  • "name": "I'm a new tag!",
  • "ownership": "anyone",
  • "priority": 50,
  • "remove_if_unused": false,
  • "usage_ttl": "0s"
}

destroy

Delete an existing tag.

path Parameters
id
required
string

Tag Reference (ID or Name)

Responses

200

Success

403

Forbidden

delete /tags/{id}
http://localhost/api/v1/tags/{id}

show

Returns a single tag.

path Parameters
id
required
string

Tag Reference (ID or Name)

Responses

200

Success

403

Forbidden

404

Not Found

get /tags/{id}
http://localhost/api/v1/tags/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "color": "red",
  • "id": "3857fb12-861c-4cef-9fb1-74e7190bcb20",
  • "name": "I'm a new tag!",
  • "ownership": "anyone",
  • "priority": 50,
  • "remove_if_unused": false,
  • "usage_ttl": "0s"
}

update

Update an existing tag (All fields are optional).

path Parameters
id
required
string

Tag Reference (ID or Name)

Request Body schema: application/json

Update an existing tag (All fields are optional).

color
string

cosmetic; one of { black, blue, brown, gray, green, orange, purple, red, white, yellow }

name
required
string

name

ownership
string

one of { anyone, admins, user }, determines who may utilize this tag; if "user", then a valid tag_owner_id must also be given.

priority
string

cosmetic; determines tag sort order in lists. Lower numbers take precedence (1 = highest priority, 5 = default, etc.).

remove_if_unused
boolean

When a tag is removed from something, check to see if anything else uses it; if not then delete it.

tag_owner_id
string

if ownership == "user", then ID of the specific user who may utilize the tag (else, ignored).

usage_ttl
string

tagging an object will last for this amount of time (if 0, tagging never expires). Supported units: y, M, w, d, h, m, s (default: s). No spaces between parts. For example, these are equivalent: 16250, 16250s, 270m50s, and 4h30m50s.

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

patch /tags/{id}
http://localhost/api/v1/tags/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "tags":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

render_device_groups

Returns all device groups that have this tag.

path Parameters
id
required
string

Tag Reference (ID or Name)

Responses

200

Success

404

Not Found

get /tags/{id}/device_groups
http://localhost/api/v1/tags/{id}/device_groups

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

render_devices

Returns all devices that have this tag.

path Parameters
id
required
string

Tag Reference (ID or Name)

Responses

200

Success

404

Not Found

get /tags/{id}/devices
http://localhost/api/v1/tags/{id}/devices

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

disable_tagged

Disable network communications for all objects with this tag.

path Parameters
id
required
string

Tag Reference (ID or Name)

Responses

200

Success

404

Not Found

post /tags/{id}/disable_tagged
http://localhost/api/v1/tags/{id}/disable_tagged

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

enable_tagged

Enable network communications for all objects with this tag.

path Parameters
id
required
string

Tag Reference (ID or Name)

Responses

200

Success

404

Not Found

post /tags/{id}/enable_tagged
http://localhost/api/v1/tags/{id}/enable_tagged

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

render_hipservice_groups

Returns all HIPservice groups that have this tag.

path Parameters
id
required
string

Tag Reference (ID or Name)

Responses

200

Success

404

Not Found

get /tags/{id}/hipservice_groups
http://localhost/api/v1/tags/{id}/hipservice_groups

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

render_hipservices

Returns all HIPservices that have this tag.

path Parameters
id
required
string

Tag Reference (ID or Name)

Responses

200

Success

404

Not Found

get /tags/{id}/hipservices
http://localhost/api/v1/tags/{id}/hipservices

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

render_networks

Returns all networks that have this tag.

path Parameters
id
required
string

Tag Reference (ID or Name)

Responses

200

Success

404

Not Found

get /tags/{id}/networks
http://localhost/api/v1/tags/{id}/networks

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

render_people

Returns all people that have this tag.

path Parameters
id
required
string

Tag Reference (ID or Name)

Responses

200

Success

404

Not Found

get /tags/{id}/people
http://localhost/api/v1/tags/{id}/people

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

refresh_tagged

Refresh expires-at time for all expiring tagged object relationships (based on current usage_ttl).

path Parameters
id
required
string

Tag Reference (ID or Name)

Responses

200

Success

404

Not Found

post /tags/{id}/refresh_tagged
http://localhost/api/v1/tags/{id}/refresh_tagged

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

untag_tagged

Remove this tag from all objects.

path Parameters
id
required
string

Tag Reference (ID or Name)

Responses

200

Success

404

Not Found

post /tags/{id}/untag_tagged
http://localhost/api/v1/tags/{id}/untag_tagged

Response samples

Content type
application/json
Copy
Expand all Collapse all
{ }

Token

generate

Generate an authentication token for the API

query Parameters
provider
string

Authentication provider. Options: local, ldap / Default: local

header Parameters
Authorization
required
string

Basic auth is in the format 'Basic ' where user_token is a base64 endcoded string with username + ':' + password

Responses

201

Created

400

Bad Request

403

Forbidden

post /token/generate
http://localhost/api/v1/token/generate

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "client_id": "-Ijdbnk4V0i1ZoWG-5NTOA",
  • "token": "xV1234uat1234xkpPr1234"
}

Wireless

index

Returns wireless settings.

query Parameters
filter
string

filter

sort
string

sort

limit
integer <int32>

limit

offset
integer <int32>

offset

paginate
boolean
Default: false

Response will include metadata to allow easy pagination through all available data. Default will change to true in v2.3.

Responses

200

Success

400

Bad Request

403

Forbidden

get /wireless_settings
http://localhost/api/v1/wireless_settings

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "data":
    [
    ],
  • "metadata":
    {
    }
}

create

Create new wireless settings.

Request Body schema: application/json

Create new wireless settings.

ca_chain
required
string
enabled
required
string

Boolean true or false to enabled WiFi network.

key
required
string
ssid
required
string
wireless_auth_type
required
string
Enum: "Open" "WEP" "WPA-PSK" "EAP-TLS"

Authorization standard to use

Responses

201

Created

400

Bad Request

403

Forbidden

post /wireless_settings
http://localhost/api/v1/wireless_settings

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ca_chain": "tn-api-test",
  • "enabled": true,
  • "key": "tn-api-test",
  • "ssid": "tn-api-test",
  • "wireless_auth_type": "WPA-PSK"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ca_chain": "tn-api-test",
  • "enabled": true,
  • "id": "c9244489-48c9-436a-a716-5311be2190cd",
  • "key": "tn-api-test",
  • "ssid": "tn-api-test",
  • "uuid": "c9244489-48c9-436a-a716-5311be2190cd",
  • "wireless_auth_type": "WPA-PSK"
}

destroy

Delete wireless settings.

path Parameters
id
required
integer <int32>

Wireless settings ID

Responses

200

Success

403

Forbidden

422

Unprocessable Entity

delete /wireless_settings/{id}
http://localhost/api/v1/wireless_settings/{id}

show

Returns a single wireless setting.

path Parameters
id
required
string

Wireless settings ID

Responses

200

Success

403

Forbidden

404

Not Found

422

Unprocessable Entity

get /wireless_settings/{id}
http://localhost/api/v1/wireless_settings/{id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ca_chain": "tn-api-test",
  • "enabled": true,
  • "id": "c9244489-48c9-436a-a716-5311be2190cd",
  • "key": "tn-api-test",
  • "ssid": "tn-api-test",
  • "uuid": "c9244489-48c9-436a-a716-5311be2190cd",
  • "wireless_auth_type": "WPA-PSK"
}

update

Update an wireless settings (All fields are optional).

path Parameters
id
required
string
Request Body schema: application/json

Update an wireless settings (All fields are optional).

ca_chain
required
string
enabled
required
string

Boolean true or false to enabled WiFi network.

key
required
string
ssid
required
string
wireless_auth_type
required
string
Enum: "Open" "WEP" "WPA-PSK" "EAP-TLS"

Authorization standard to use

Responses

200

Success

400

Bad Request

403

Forbidden

404

Not Found

422

Unprocessable Entity

patch /wireless_settings/{id}
http://localhost/api/v1/wireless_settings/{id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ca_chain": "tn-api-test",
  • "enabled": true,
  • "key": "tn-api-test",
  • "ssid": "tn-api-test",
  • "wireless_auth_type": "WPA-PSK"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "ca_chain": "tn-api-test",
  • "enabled": true,
  • "id": "c9244489-48c9-436a-a716-5311be2190cd",
  • "key": "tn-api-test",
  • "ssid": "tn-api-test",
  • "uuid": "c9244489-48c9-436a-a716-5311be2190cd",
  • "wireless_auth_type": "WPA-PSK"
}