Kaiwoo Service Provisioning API (2.0)

This API endpoint is invoked to retrieve per-network or per-device subscription related settings.

Subscriptions

CREATE

The CREATE call is invoked whenever a new service subscription is created on the Kaiwoo platform. The 'name' and 'email' fields refer to the subscriber. The service tier allows to differentiate the (possibly) various plans the subscription is for. Callee returns subscription id to be used for all subsequent API calls.

Authorizations:
ServiceAuth
Request Body schema: application/json
name
required
string <= 128 characters

A name identifying the subscriber.

email
required
string <= 128 characters

An email to contact the person managing this subscription.

service_tier
required
string <= 128 characters

Service tiers are defined by service providers in the marketplace. Upon subscription the service tier is passed to the provisioning API to allow identification of service tier / type to provision.

required
object
object

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "email": "string",
  • "service_tier": "string",
  • "licenses": {
    },
  • "organisation": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "email": "string",
  • "service_tier": "string",
  • "licenses": {
    },
  • "organisation": {
    }
}

DETAILS

Get subscription details

Authorizations:
ServiceAuth
path Parameters
subscription_id
required
integer <int64> >= 1

The unique identifier of the subscription to query.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "email": "string",
  • "service_tier": "string",
  • "licenses": {
    },
  • "organisation": {
    }
}

UPDATE

Provides updates regarding the subscriber or organisation. For instance, invoked when the organisation name is changed on the Kaiwoo platform.

Authorizations:
ServiceAuth
path Parameters
subscription_id
required
integer <int64> >= 1

The unique identifier of the subscription to query.

Request Body schema: application/json

Properties to change on the queried subscription

name
string <= 128 characters

A name identifying the subscriber.

email
string <= 128 characters

An email to contact the person managing this subscription.

service_tier
string <= 128 characters

Service tiers are defined by service providers in the marketplace. Upon subscription the service tier is passed to the provisioning API to allow identification of service tier / type to provision.

object
object

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "email": "string",
  • "service_tier": "string",
  • "licenses": {
    },
  • "organisation": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "email": "string",
  • "service_tier": "string",
  • "licenses": {
    },
  • "organisation": {
    }
}

DELETE

Upon expiry of the subscription, this API call is invoked to inform the service provider about the termination of the subscription.

Authorizations:
ServiceAuth
path Parameters
subscription_id
required
integer <int64> >= 1

The unique identifier of the subscription to query.

Responses

Networks

CREATE

Once subscriber associated a subscription to a network, this API call is invoked to inform the service about the network name & id. Each network to subscription association triggers a separate network creation event. Allows the service to return per-network settings in the response body.

Authorizations:
ServiceAuth
path Parameters
subscription_id
required
integer <int64> >= 1

The unique identifier of the subscription to query.

Request Body schema: application/json
name
required
string <= 128 characters

Field for a common name allowing easier identification of a network.

network_id
integer

Unique identifier of the network on Kaiwoo cloud.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "network_id": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "dashboard_url": "stringstri",
  • "name": "string",
  • "network_id": 0,
  • "presence_analytics": {
    },
  • "syslog": {
    }
}

DETAILS

Get network details

Authorizations:
ServiceAuth
path Parameters
subscription_id
required
integer <int64> >= 1

The unique identifier of the subscription to query.

network_id
required
integer <int64> >= 1

The unique identifier of the network to query.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "dashboard_url": "stringstri",
  • "name": "string",
  • "network_id": 0,
  • "presence_analytics": {
    },
  • "syslog": {
    }
}

UPDATE

Provides updates regarding the associated network name. For instance, invoked when the network name is changed on the Kaiwoo platform.

Authorizations:
ServiceAuth
path Parameters
subscription_id
required
integer <int64> >= 1

The unique identifier of the subscription to query.

network_id
required
integer <int64> >= 1

The unique identifier of the network to query.

Request Body schema: application/json

Properties to change on the queried network

name
string <= 128 characters

Field for a common name allowing easier identification of a network.

network_id
integer

Unique identifier of the network on Kaiwoo cloud.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "network_id": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "dashboard_url": "stringstri",
  • "name": "string",
  • "network_id": 0,
  • "presence_analytics": {
    },
  • "syslog": {
    }
}

DELETE

Upon network disassociation, this API call is invoked to inform the service provider about the network no longer using the subscription.

Authorizations:
ServiceAuth
path Parameters
subscription_id
required
integer <int64> >= 1

The unique identifier of the subscription to query.

network_id
required
integer <int64> >= 1

The unique identifier of the network to query.

Responses

SSIDs

CREATE

Once subscriber associated a subscription to an SSID, this API call is invoked to inform the service about the SSID name & id. Each SSID to subscription association triggers a separate SSID creation event. Allows the service to return per-SSID settings in the response body.

Authorizations:
ServiceAuth
path Parameters
subscription_id
required
integer <int64> >= 1

The unique identifier of the subscription to query.

network_id
required
integer <int64> >= 1

The unique identifier of the network to query.

Request Body schema: application/json
name
required
string <= 128 characters

Field for a common name allowing easier identification of an SSID.

ssid_id
integer

Unique identifier of the SSID on Kaiwoo cloud.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "ssid_id": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "dashboard_url": "stringstri",
  • "name": "string",
  • "ssid_id": 0,
  • "remote_splashpage": {
    },
  • "dns": {
    }
}

DETAILS

Get SSID details

Authorizations:
ServiceAuth
path Parameters
subscription_id
required
integer <int64> >= 1

The unique identifier of the subscription to query.

network_id
required
integer <int64> >= 1

The unique identifier of the network to query.

ssid_id
required
integer <int64> >= 1

The unique identifier of the SSID to query.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "dashboard_url": "stringstri",
  • "name": "string",
  • "ssid_id": 0,
  • "remote_splashpage": {
    },
  • "dns": {
    }
}

UPDATE

Provides updates regarding the associated SSID name. For instance, invoked when the SSID name is changed on the Kaiwoo platform.

Authorizations:
ServiceAuth
path Parameters
subscription_id
required
integer <int64> >= 1

The unique identifier of the subscription to query.

network_id
required
integer <int64> >= 1

The unique identifier of the network to query.

ssid_id
required
integer <int64> >= 1

The unique identifier of the SSID to query.

Request Body schema: application/json

Properties to change on the queried SSID

name
string <= 128 characters

Field for a common name allowing easier identification of an SSID.

ssid_id
integer

Unique identifier of the SSID on Kaiwoo cloud.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "ssid_id": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "dashboard_url": "stringstri",
  • "name": "string",
  • "ssid_id": 0,
  • "remote_splashpage": {
    },
  • "dns": {
    }
}

DELETE

Upon SSID disassociation, this API call is invoked to inform the service provider about the SSID no longer using the subscription.

Authorizations:
ServiceAuth
path Parameters
subscription_id
required
integer <int64> >= 1

The unique identifier of the subscription to query.

network_id
required
integer <int64> >= 1

The unique identifier of the network to query.

ssid_id
required
integer <int64> >= 1

The unique identifier of the SSID to query.

Responses

Devices

CREATE

Once subscriber associated a subscription to a network, this API call is invoked to inform the service about the devices part of the network along with device name, mac address & location information. Each device in a network triggers a separate device creation event.

Authorizations:
ServiceAuth
path Parameters
subscription_id
required
integer <int64> >= 1

The unique identifier of the subscription to query.

network_id
required
integer <int64> >= 1

The unique identifier of the network to query.

Request Body schema: application/json
type
required
string
Enum: "ap" "switch"

Identifies the device as an access-points or a switch.

model
required
string

The device's model as identified by it's MAC address.

mac_addr
required
string = 17 characters ^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$

The physical address of the device's primary network interface.

object
name
required
string or null <= 128 characters

Field for a common name allowing easier identification of a device.

required
object (attributes-4)

Responses

Request samples

Content type
application/json
{
  • "type": "ap",
  • "model": "string",
  • "mac_addr": "stringstringstrin",
  • "ip_addr": {
    },
  • "name": "string",
  • "location": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": "ap",
  • "model": "string",
  • "mac_addr": "stringstringstrin",
  • "ip_addr": {
    },
  • "name": "string",
  • "location": {
    }
}

DETAILS

Get device details

Authorizations:
ServiceAuth
path Parameters
subscription_id
required
integer <int64> >= 1

The unique identifier of the subscription to query.

network_id
required
integer <int64> >= 1

The unique identifier of the network to query.

device_id
required
integer <int64> >= 1

The unique identifier of the device to query.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": "ap",
  • "model": "string",
  • "mac_addr": "stringstringstrin",
  • "ip_addr": {
    },
  • "name": "string",
  • "location": {
    }
}

UPDATE

Provides updates regarding the device name, mac address and location. For instance, invoked when the device name is changed on the Kaiwoo platform.

Authorizations:
ServiceAuth
path Parameters
subscription_id
required
integer <int64> >= 1

The unique identifier of the subscription to query.

network_id
required
integer <int64> >= 1

The unique identifier of the network to query.

device_id
required
integer <int64> >= 1

The unique identifier of the device to query.

Request Body schema: application/json

Properties to change on the queried device

type
string
Enum: "ap" "switch"

Identifies the device as an access-points or a switch.

model
string

The device's model as identified by it's MAC address.

mac_addr
string = 17 characters ^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$

The physical address of the device's primary network interface.

object
name
string or null <= 128 characters

Field for a common name allowing easier identification of a device.

object (attributes-4)

Responses

Request samples

Content type
application/json
{
  • "type": "ap",
  • "model": "string",
  • "mac_addr": "stringstringstrin",
  • "ip_addr": {
    },
  • "name": "string",
  • "location": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": "ap",
  • "model": "string",
  • "mac_addr": "stringstringstrin",
  • "ip_addr": {
    },
  • "name": "string",
  • "location": {
    }
}

DELETE

Upon network disassociation or device removal, this API call is invoked to inform the service provider about the device no longer using the subscription.

Authorizations:
ServiceAuth
path Parameters
subscription_id
required
integer <int64> >= 1

The unique identifier of the subscription to query.

network_id
required
integer <int64> >= 1

The unique identifier of the network to query.

device_id
required
integer <int64> >= 1

The unique identifier of the device to query.

Responses