### Create SSID - Success Response Example Source: https://api-docs.kaiwoo.ai/network_management/index This snippet provides an example JSON response upon successful creation of an SSID. It includes the assigned ID and all the details that were configured during the creation process. ```json { "id": 0, "enable": true, "schedule_id": 1, "name": "string", "wan": { "mode": "bridge", "vlan": { "tagging": "inactive" } }, "wifi": { "authentication": { "type": "none" }, "band_steering": false, "bands": [ { "band": "2.4GHz", "name": "radio0", "enable": true, "broadcast_name": "string" } ], "client_isolation": false, "hidden_ssid": false }, "captive_portal": { "type": "disabled" }, "throttle": { "enable": false }, "dns": { "type": "disabled" }, "vpn": { "type": "disabled" } } ``` -------------------------------- ### Create SSID - Request Payload Example Source: https://api-docs.kaiwoo.ai/network_management/index This snippet shows an example JSON payload for creating a new SSID. It includes details for enabling the SSID, schedule ID, name, WAN configuration, WiFi settings, captive portal, throttling, DNS, and VPN. ```json { "enable": true, "schedule_id": 1, "name": "string", "wan": { "mode": "bridge", "vlan": { "tagging": "inactive" } }, "wifi": { "authentication": { "type": "none" }, "band_steering": false, "bands": [ { "band": "2.4GHz", "name": "radio0", "enable": true, "broadcast_name": "string" } ], "client_isolation": false, "hidden_ssid": false }, "captive_portal": { "type": "disabled" }, "throttle": { "enable": false }, "dns": { "type": "disabled" }, "vpn": { "type": "disabled" } } ``` -------------------------------- ### Get Changelog Entry Details (JSON Example) Source: https://api-docs.kaiwoo.ai/network_management/index This JSON snippet represents a successful response when retrieving details of a specific changelog entry for an SSID. It includes creator information, creation date, and various network settings like WAN, Wi-Fi, captive portal, throttling, DNS, and VPN configurations. ```json { "id": 0, "creator": { "name": "string", "email": "string" }, "creation_date": "2019-08-24T14:15:22Z", "enable": true, "schedule_id": 1, "name": "string", "wan": { "mode": "bridge", "vlan": { "tagging": "inactive" } }, "wifi": { "authentication": { "type": "none" }, "band_steering": false, "bands": [ { "band": "2.4GHz", "name": "radio0", "enable": true, "broadcast_name": "string" } ], "client_isolation": false, "hidden_ssid": false }, "captive_portal": { "type": "disabled" }, "throttle": { "enable": false }, "dns": { "type": "disabled" }, "vpn": { "type": "disabled" } } ``` -------------------------------- ### Get Organisations List (API Example) Source: https://api-docs.kaiwoo.ai/network_management/index This snippet demonstrates how to retrieve a list of all organizations. It shows the structure of the response for a successful request, including organization details like name, description, and maintenance settings. The API supports full-text search via a 'search' query parameter. ```json { "organisations": [ { "name": "string", "description": "string", "custom_data": "string", "parent_organisation_id": 1, "maintenance": { "firmware_upgrade": { "mode": "active", "firmware_label_id": 1 } }, "id": 0, "attributes": { "permissions": [ "view" ] }, "resource_id": "string", "default": { "maint_schedule_id": 0 } } ] } ``` -------------------------------- ### Get Client List - Example JSON Response Source: https://api-docs.kaiwoo.ai/network_management/index This code snippet demonstrates a successful JSON response when retrieving a list of clients. It includes details such as custom name, SSIDs, MAC address, connection status, and network information. The response structure is crucial for integrating with client management systems. ```json { "clients": [ { "custom_name": "string", "ssids": [ { "id": 1, "mode": "splashpage_bypass" } ], "id": 0, "mac_addr": "stringstringstrin", "has_settings": true, "last_connected_to": 0, "last_seen": "string", "vendor": "string", "hostname": "string", "ipv4": { "addr": "string" }, "os": "string", "download": 0, "upload": 0, "link": { "type": null }, "throttle": { "type": "inactive" }, "splashpage": { "type": "inactive" } } ] } ``` -------------------------------- ### GET /v2/lookup/firmware_labels Source: https://api-docs.kaiwoo.ai/network_management/index Retrieves a list of available firmware labels. Supports both production and beta API servers. ```APIDOC ## GET /v2/lookup/firmware_labels ### Description Retrieves a list of available firmware labels. This endpoint can be accessed via the production or beta API servers. ### Method GET ### Endpoint - Production: http://api.kaiwoo.ai/v2/lookup/firmware_labels - Beta: http://api-kaiwoo.ai/v2/lookup/firmware_labels ### Parameters None ### Request Example None ### Response #### Success Response (200) - **firmware_labels** (array) - A list of firmware label objects. - **id** (integer) - The unique identifier for the firmware label. - **name** (string) - The name of the firmware label. - **type** (string) - The type of the firmware label (e.g., "public"). #### Response Example ```json { "firmware_labels": [ { "id": 0, "name": "string", "type": "public" } ] } ``` #### Error Responses - **400**: Input rejected due to parsing error(s). - **404**: Requested resource could not be found. - **415**: The content-type 'json/application' is required. - **500**: General server-side error occurred. - **503**: API is unavailable due to maintenance. - **555**: Error occurred while communicating with the database. ``` -------------------------------- ### Device Reboot API Source: https://api-docs.kaiwoo.ai/network_management/index This endpoint triggers a full reboot of a specified device. It details the required authorization and provides examples of potential error responses. ```APIDOC ## REBOOT /organisations/{organisation_id}/devices/{device_id}/reboot ### Description Triggers the cloud to perform a full reboot of the device. ### Method GET ### Endpoint `/v2/organisations/{organisation_id}/devices/{device_id}/reboot` ### Parameters #### Path Parameters - **organisation_id** (integer) - Required - The unique identifier of the organization. - **device_id** (integer) - Required - The unique identifier of the device. ### Authorization oAuth ### Response #### Success Response (200) Success #### Error Responses - **400**: General error occurred - HTTP body contains error description. #### Response Example (400) ```json { "code": 405, "error": "Device is unreachable / offline." } ``` ``` -------------------------------- ### Get Organisation Details (API Response Example) Source: https://api-docs.kaiwoo.ai/network_management/index This snippet displays the JSON response structure for retrieving the details of a specific organization using its ID. It mirrors the structure of a single organization object found in the 'LIST' response, providing comprehensive information about the requested organization. ```json { "name": "string", "description": "string", "custom_data": "string", "parent_organisation_id": 1, "maintenance": { "firmware_upgrade": { "mode": "active", "firmware_label_id": 1 } }, "id": 0, "attributes": { "permissions": [ "view" ] }, "resource_id": "string", "default": { "maint_schedule_id": 0 } } ``` -------------------------------- ### List Floorplans Response Sample (JSON) Source: https://api-docs.kaiwoo.ai/network_management/index Example JSON response when listing all floorplans for a network. Returns an array of floorplan objects, each containing an ID, name, description, floorplan data, location coordinates, and order. ```json { "floorplans": [ { "id": 0, "name": "string", "description": "string", "floorplan": "string", "location": { "top_left": { "lat": -90, "long": -180 }, "bottom_right": { "lat": -90, "long": -180 } }, "order": 0 } ] } ``` -------------------------------- ### VLAN Settings Response Sample (JSON) Source: https://api-docs.kaiwoo.ai/network_management/index Example of a successful response when retrieving or updating VLAN settings. Includes VLAN ID, creator details, creation date, and the updated settings. ```json { "id": 0, "creator": { "name": "string", "email": "string" }, "creation_date": "2019-08-24T14:15:22Z", "enable": true, "name": "string", "tags": [ 1 ] } ``` -------------------------------- ### GET /organisations/{organisation_id}/networks/{network_id}/ssids/{ssid_id} Source: https://api-docs.kaiwoo.ai/network_management/index Retrieves the details of a specific SSID within a network. This endpoint is used to get all configuration information for a given SSID. ```APIDOC ## GET /organisations/{organisation_id}/networks/{network_id}/ssids/{ssid_id} ### Description Retrieves the details of a specific SSID within a network. This endpoint is used to get all configuration information for a given SSID. ### Method GET ### Endpoint `/v2/organisations/{organisation_id}/networks/{network_id}/ssids/{ssid_id}` ### Parameters #### Path Parameters - **organisation_id** (integer >= 1) - Required - The unique identifier of the organisation to query. - **network_id** (integer >= 1) - Required - The unique identifier of the network to query. - **ssid_id** (integer >= 1) - Required - The unique identifier of the SSID to query. ### Response #### Success Response (200) - **id** (integer) - The unique identifier of the SSID. - **enable** (boolean) - Indicates if the SSID is enabled. - **schedule_id** (integer or null) - The ID of the associated schedule, if any. - **name** (string) - The broadcast name of the SSID. - **wan** (object) - WAN configuration details. - **wifi** (object) - WiFi configuration details. - **captive_portal** (object) - Captive portal configuration details. - **throttle** (object) - Throttling configuration details. - **dns** (object) - DNS configuration details. - **vpn** (object) - VPN configuration details. #### Response Example ```json { "id": 0, "enable": true, "schedule_id": 1, "name": "string", "wan": { "mode": "bridge", "vlan": { "tagging": "inactive" } }, "wifi": { "authentication": { "type": "none" }, "band_steering": false, "bands": [ { "band": "2.4GHz", "name": "radio0", "enable": true, "broadcast_name": "string" } ], "client_isolation": false, "hidden_ssid": false }, "captive_portal": { "type": "disabled" }, "throttle": { "enable": false }, "dns": { "type": "disabled" }, "vpn": { "type": "disabled" } } ``` ``` -------------------------------- ### POST Schedule Request Sample Source: https://api-docs.kaiwoo.ai/network_management/index This is a sample JSON payload for creating a new schedule. It includes the schedule's name, an optional description, and an array of schedule time objects with start and duration. ```json { "name": "string", "description": "string", "schedule": [ { "start": 167, "duration": 1 } ] } ``` -------------------------------- ### GET /organisations/{organisation_id}/networks/{network_id}/topology/wifi Source: https://api-docs.kaiwoo.ai/network_management/index Retrieves the WiFi network topology for a specified network within an organization. This endpoint allows filtering by device ID to get specific WiFi information. ```APIDOC ## GET /organisations/{organisation_id}/networks/{network_id}/topology/wifi ### Description Get the WiFi network topology for a given organization and network. Optionally filter by a specific device ID. ### Method GET ### Endpoint `/v2/organisations/{organisation_id}/networks/{network_id}/topology/wifi` ### Parameters #### Path Parameters - **organisation_id** (integer) - Required - The unique identifier of the organisation. - **network_id** (integer) - Required - The unique identifier of the network. #### Query Parameters - **device_id** (integer) - Optional - Specify a device ID to filter the results. ### Response #### Success Response (200) (Response structure for WiFi topology would be detailed here, similar to Layer 2 and Mesh, but specific to WiFi) #### Error Responses - **400**: General error occurred. - **404**: Requested resource could not be found. - **415**: The content-type 'json/application' is required. - **500**: General server-side error occurred. - **503**: API is unavailable due to maintenance. - **555**: Error occurred while communicating with the database. ``` -------------------------------- ### Create Organisation Source: https://api-docs.kaiwoo.ai/network_management/index Creates a new organization with the provided details. ```APIDOC ## POST /organisations ### Description Creates a new organisation. ### Method POST ### Endpoint /v2/organisations ### Request Body - **name** (string) - Required - A name identifying this organisation (<= 128 characters). - **description** (string) - Optional - A field for additional information about the organisation (<= 1024 characters). - **custom_data** (string) - Optional - Custom data object for the API user to store data in base64 encoded form (<= 4096 characters). - **parent_organisation_id** (integer) - Optional - Unique identifier of the organisation the current organisation belongs to. 'Null' indicates no parent organization (>= 1). - **maintenance** (object) - Optional - Maintenance settings for the organization. - **firmware_upgrade** (object) - Optional - Firmware upgrade settings. - **mode** (string) - The upgrade mode. - **firmware_label_id** (integer) - The ID of the firmware label. ### Request Example ```json { "name": "string", "description": "string", "custom_data": "string", "parent_organisation_id": 1, "maintenance": { "firmware_upgrade": { "mode": "active", "firmware_label_id": 1 } } } ``` ### Responses #### Success Response (201) - **name** (string) - The name of the organization. - **description** (string) - A description of the organization. - **custom_data** (string) - Custom data associated with the organization. - **parent_organisation_id** (integer) - The ID of the parent organization. - **maintenance** (object) - Maintenance settings for the organization. - **firmware_upgrade** (object) - Firmware upgrade settings. - **mode** (string) - The upgrade mode. - **firmware_label_id** (integer) - The ID of the firmware label. - **id** (integer) - The unique identifier of the organization. - **attributes** (object) - Attributes of the organization. - **permissions** (array) - List of permissions for the organization. - **resource_id** (string) - The resource ID of the organization. - **default** (object) - Default settings for the organization. - **maint_schedule_id** (integer) - The ID of the maintenance schedule. #### Error Responses - **400** - General error occurred. - **404** - Requested resource could not be found. - **415** - The content-type 'json/application' is required. - **500** - General server-side error occurred. - **503** - API is unavailable due to maintenance. - **555** - Error occurred while communicating with the database. ### Response Example (201) ```json { "name": "string", "description": "string", "custom_data": "string", "parent_organisation_id": 1, "maintenance": { "firmware_upgrade": { "mode": "active", "firmware_label_id": 1 } }, "id": 0, "attributes": { "permissions": [ "view" ] }, "resource_id": "string", "default": { "maint_schedule_id": 0 } } ``` ``` -------------------------------- ### Get All Ports - HTTP Request Source: https://api-docs.kaiwoo.ai/network_management/index This snippet demonstrates how to make an HTTP GET request to retrieve all ports for a specific device within an organization. It includes the API endpoint and expected path parameters. The response is in JSON format and details various port configurations. ```HTTP GET /v2/organisations/{organisation_id}/devices/{device_id}/ports HTTP/1.1 Host: api.kaiwoo.ai Accept: application/json ``` -------------------------------- ### POST Splashpage Asset Response Sample (201 Success) Source: https://api-docs.kaiwoo.ai/network_management/index This is a sample JSON response for a successful splashpage asset creation (HTTP 201). It includes the created asset's ID, name, and asset identifier. ```json { "id": 0, "name": "string", "asset": "string" } ``` -------------------------------- ### Create Client Settings - Success Response JSON Source: https://api-docs.kaiwoo.ai/network_management/index This JSON sample illustrates a successful response after creating or updating client settings. It mirrors the structure of a client object, providing the newly created or updated client's details, including its ID, MAC address, custom name, and associated SSIDs. This confirmation is vital for verifying the operation's success. ```json { "custom_name": "string", "ssids": [ { "id": 1, "mode": "splashpage_bypass" } ], "id": 0, "mac_addr": "stringstringstrin", "has_settings": true, "last_connected_to": 0, "last_seen": "string", "vendor": "string", "hostname": "string", "ipv4": { "addr": "string" }, "os": "string", "download": 0, "upload": 0, "link": { "type": null }, "throttle": { "type": "inactive" }, "splashpage": { "type": "inactive" } } ``` -------------------------------- ### GET Response Sample for Device Configuration Source: https://api-docs.kaiwoo.ai/network_management/index This JSON structure represents the detailed configuration of a network device upon successful retrieval. It includes device identification, network details, location, serial number, provisioned radio settings, and comprehensive configuration overrides. This response is typically returned with a 200 OK status. ```json { "type": "ap", "name": "string", "description": "string", "model": "string", "mac_addr": "stringstringstrin", "network_id": 1, "location": { "lat": -90, "long": -180 }, "floorplan": { "id": 1, "location": { "lat": -90, "long": -180 } }, "serial_number": "string", "configuration": { "overrides": { "radio": [ { "band": "2.4GHz", "name": "radio0", "enable": true, "channel": { "number": null, "width": null }, "tx_power": 10 } ], "mesh": { "enable": true }, "ethernet": { "mode": null } }, "ssids": [ 1 ] }, "provisioned": { "radio": [ { "band": "2.4GHz", "name": "radio0", "channel": null, "channel_width": null } ] }, "id": 0 } ``` -------------------------------- ### Get Port Status - HTTP Request Source: https://api-docs.kaiwoo.ai/network_management/index This snippet shows how to send an HTTP GET request to fetch the status of ports for a given device and organization. The endpoint requires organization and device identifiers. The response provides detailed status information, including link status, MAC addresses, and neighbor details. ```HTTP GET /v2/organisations/{organisation_id}/devices/{device_id}/ports/status HTTP/1.1 Host: api.kaiwoo.ai Accept: application/json ``` -------------------------------- ### Get Organisation Details Source: https://api-docs.kaiwoo.ai/network_management/index Retrieves the details of a specific organization. ```APIDOC ## GET /organisations/{organisation_id} ### Description Get an organisation's details. ### Method GET ### Endpoint /v2/organisations/{organisation_id} ### Path Parameters - **organisation_id** (integer) - Required - The unique identifier of the organisation to query (>= 1). ### Responses #### Success Response (200) - **name** (string) - The name of the organization. - **description** (string) - A description of the organization. - **custom_data** (string) - Custom data associated with the organization. - **parent_organisation_id** (integer) - The ID of the parent organization. - **maintenance** (object) - Maintenance settings for the organization. - **firmware_upgrade** (object) - Firmware upgrade settings. - **mode** (string) - The upgrade mode. - **firmware_label_id** (integer) - The ID of the firmware label. - **id** (integer) - The unique identifier of the organization. - **attributes** (object) - Attributes of the organization. - **permissions** (array) - List of permissions for the organization. - **resource_id** (string) - The resource ID of the organization. - **default** (object) - Default settings for the organization. - **maint_schedule_id** (integer) - The ID of the maintenance schedule. #### Error Responses - **400** - General error occurred. - **404** - Requested resource could not be found. - **415** - The content-type 'json/application' is required. - **500** - General server-side error occurred. - **503** - API is unavailable due to maintenance. - **555** - Error occurred while communicating with the database. ### Response Example (200) ```json { "name": "string", "description": "string", "custom_data": "string", "parent_organisation_id": 1, "maintenance": { "firmware_upgrade": { "mode": "active", "firmware_label_id": 1 } }, "id": 0, "attributes": { "permissions": [ "view" ] }, "resource_id": "string", "default": { "maint_schedule_id": 0 } } ``` ``` -------------------------------- ### POST Schedule Response Sample (201 Success) Source: https://api-docs.kaiwoo.ai/network_management/index This is a sample JSON response for a successful schedule creation (HTTP 201). It mirrors the request payload and includes the newly created schedule's ID, referenced status, and attributes. ```json { "name": "string", "description": "string", "schedule": [ { "start": 167, "duration": 1 } ], "id": 0, "referenced": true, "attributes": { "shared": { "organisation": { "id": 0 } } } } ``` -------------------------------- ### GET /v2/organisations/{organisation_id}/changelog Source: https://api-docs.kaiwoo.ai/network_management/index Retrieves the changelog for a specific organization. ```APIDOC ## GET /v2/organisations/{organisation_id}/changelog ### Description Get an organisation's changelog. ### Method GET ### Endpoint `/v2/organisations/{organisation_id}/changelog` ### Parameters #### Path Parameters - **organisation_id** (integer) - Required - The unique identifier of the organisation to query. ### Responses #### Success Response (200) - **changelog** (array) - An array of changelog entries. - **id** (integer) - The ID of the changelog entry. - **creator** (object) - Information about the creator of the changelog entry. - **name** (string) - The name of the creator. - **email** (string) - The email of the creator. - **creation_date** (string) - The date and time of creation in ISO 8601 format. #### Response Example ```json { "changelog": [ { "id": 0, "creator": { "name": "string", "email": "string" }, "creation_date": "2019-08-24T14:15:22Z" } ] } ``` #### Error Responses - **400** - General error occurred - HTTP body contains error description - **404** - Requested resource could not be found - **415** - The content-type 'json/application' is required - **500** - General server-side error occurred - **503** - API is unavailable due to maintenance - **555** - Error occurred while communicating with the database ``` -------------------------------- ### Get Changelog Entry Source: https://api-docs.kaiwoo.ai/network_management/index Retrieves the details of a specific changelog entry for a network. ```APIDOC ## GET /organisations/{organisation_id}/networks/{network_id}/changelog/{entry_id} ### Description Retrieves the details of a specific changelog entry for a network. ### Method GET ### Endpoint `/v2/organisations/{organisation_id}/networks/{network_id}/changelog/{entry_id}` ### Parameters #### Path Parameters - **organisation_id** (integer) - Required - The unique identifier of the organisation. - **network_id** (integer) - Required - The unique identifier of the network. - **entry_id** (integer) - Required - The unique identifier of the changelog entry. ### Response *(Response details for this endpoint are not fully specified in the provided text, but it would typically return a changelog entry object.)* ### Error Handling *(Error handling details for this endpoint are not fully specified in the provided text, but would likely include codes like 404 for not found.)* ``` -------------------------------- ### POST Splashpage Asset Request Sample Source: https://api-docs.kaiwoo.ai/network_management/index This is a sample JSON payload for creating a splashpage asset. It requires a name and an asset identifier. The content type must be application/json. ```json { "name": "string", "asset": "string" } ``` -------------------------------- ### GET /organisations/{organisation_id}/networks/{network_id}/settings Source: https://api-docs.kaiwoo.ai/network_management/index Retrieves the changelog for a specific network. ```APIDOC ## GET /organisations/{organisation_id}/networks/{network_id}/settings ### Description Get a network's changelog. ### Method GET ### Endpoint `/v2/organisations/{organisation_id}/networks/{network_id}/settings` ### Parameters #### Path Parameters - **organisation_id** (integer) - Required - The unique identifier of the organisation. - **network_id** (integer) - Required - The unique identifier of the network. ### Response #### Success Response (200) - **changelog** (array) - An array of changelog entries. - **id** (integer) - Changelog entry ID. - **creator** (object) - Information about the creator. - **name** (string) - Creator's name. - **email** (string) - Creator's email. - **creation_date** (string) - Date and time of creation. #### Response Example ```json { "changelog": [ { "id": 0, "creator": { "name": "string", "email": "string" }, "creation_date": "2019-08-24T14:15:22Z" } ] } ``` ``` -------------------------------- ### Create Floorplan Source: https://api-docs.kaiwoo.ai/network_management/index Creates a new floorplan for a specific network within an organisation. ```APIDOC ## POST /v2/organisations/{organisation_id}/networks/{network_id}/floorplans ### Description Creates a new floorplan for a specific network within an organisation. ### Method POST ### Endpoint `/v2/organisations/{organisation_id}/networks/{network_id}/floorplans` ### Parameters #### Path Parameters - **organisation_id** (integer) - Required - The unique identifier of the organisation to query. - **network_id** (integer) - Required - The unique identifier of the network to query. #### Request Body *The request body schema for creating a floorplan is not fully provided in the input text. Please refer to API documentation for specific required fields.* ### Response #### Success Response (201) *The response body schema for a successful floorplan creation is not fully provided in the input text. Please refer to API documentation for specific details.* #### Response Example *No specific success response example provided for this endpoint in the input text.* ### Error Handling - **400**: General error occurred - HTTP body contains error description. - **404**: Requested resource could not be found. - **415**: The content-type 'json/application' is required. - **500**: General server-side error occurred. - **503**: API is unavailable due to maintenance. - **555**: Error occurred while communicating with the database. ``` -------------------------------- ### GET /organisations/{organisation_id}/schedules/{schedule_id}/settings Source: https://api-docs.kaiwoo.ai/network_management/index Retrieves the changelog for a specific schedule. ```APIDOC ## GET /organisations/{organisation_id}/schedules/{schedule_id}/settings ### Description Get a schedule's changelog. ### Method GET ### Endpoint `/organisations/{organisation_id}/schedules/{schedule_id}/settings` ### Parameters #### Path Parameters - **organisation_id** (integer) - Required - The unique identifier of the organisation to query. - **schedule_id** (integer) - Required - The unique identifier of the schedule to query. ### Response #### Success Response (200) - **changelog** (array) - An array of changelog entries, each containing an ID, creator information, and creation date. #### Response Example ```json { "changelog": [ { "id": 0, "creator": { "name": "string", "email": "string" }, "creation_date": "2019-08-24T14:15:22Z" } ] } ``` ``` -------------------------------- ### Changelog Entry Response Sample Source: https://api-docs.kaiwoo.ai/network_management/index This JSON object represents a successful response (200 OK) when fetching details of a changelog entry. It includes information about the entry's creator, creation date, name, description, and schedule. ```json { "id": 0, "creator": { "name": "string", "email": "string" }, "creation_date": "2019-08-24T14:15:22Z", "name": "string", "description": "string", "schedule": [ { "start": 167, "duration": 1 } ] } ``` -------------------------------- ### POST Request Sample for Creating a Device Source: https://api-docs.kaiwoo.ai/network_management/index This JSON payload is used to create a new network device. It includes details such as name, description, MAC address, network ID, location, and configuration overrides for radio, mesh, and Ethernet settings. The 'ssids' field expects an array of identifiers. ```json { "name": "string", "description": "string", "mac_addr": "stringstringstrin", "network_id": 1, "location": { "lat": -90, "long": -180 }, "floorplan": { "id": 1, "location": { "lat": -90, "long": -180 } }, "configuration": { "overrides": { "radio": [ { "band": "2.4GHz", "name": "radio0", "enable": true, "channel": { "number": null, "width": null }, "tx_power": 10 } ], "mesh": { "enable": true }, "ethernet": { "mode": null } }, "ssids": [ 1 ] } } ``` -------------------------------- ### Get Changelog Entry Details Source: https://api-docs.kaiwoo.ai/network_management/index Retrieves the details of a specific changelog entry for a splashpage. ```APIDOC ## GET /v2/organisations/{organisation_id}/splashpages/{splashpage_id}/settings/{entry_id} ### Description Retrieves the details of a specific changelog entry for a splashpage. ### Method GET ### Endpoint `/v2/organisations/{organisation_id}/splashpages/{splashpage_id}/settings/{entry_id}` ### Parameters #### Path Parameters - **organisation_id** (integer) - Required - The unique identifier of the organisation. - **splashpage_id** (integer) - Required - The unique identifier of the splashpage. - **entry_id** (integer) - Required - The unique identifier of the changelog entry. ### Response #### Success Response (200) - **id** (integer) - The unique identifier of the changelog entry. - **creator** (object) - Information about the creator of the changelog entry. - **name** (string) - Creator's name. - **email** (string) - Creator's email. - **creation_date** (string) - The date and time the changelog entry was created. - **name** (string) - The name associated with the changelog entry. - **description** (string) - The description of the changelog entry. - **splash_html** (string) - The splashpage HTML content at the time of the changelog entry. - **client_force_timeout** (integer) - The client force timeout setting at the time of the changelog entry. - **success_landing_page** (string) - The success landing page URL at the time of the changelog entry. - **policies** (object) - The splashpage policies at the time of the changelog entry. - **walled_garden** (array of strings) - The walled garden domains at the time of the changelog entry. #### Response Example ```json { "id": 0, "creator": { "name": "string", "email": "string" }, "creation_date": "2019-08-24T14:15:22Z", "name": "string", "description": "string", "splash_html": "string", "client_force_timeout": 1440, "success_landing_page": "string", "policies": { "traffic": "allow non-HTTP", "redirect_https_traffic": "enable", "network_cache": "active" }, "walled_garden": [ "string" ] } ``` ``` -------------------------------- ### GET /v2/lookup/timezones Source: https://api-docs.kaiwoo.ai/network_management/index Retrieves a list of supported timezones. Supports both production and beta API servers. ```APIDOC ## GET /v2/lookup/timezones ### Description Retrieves a list of supported timezones. This endpoint can be accessed via the production or beta API servers. ### Method GET ### Endpoint - Production: http://api.kaiwoo.ai/v2/lookup/timezones - Beta: http://api-kaiwoo.ai/v2/lookup/timezones ### Parameters None ### Request Example None ### Response #### Success Response (200) - **timezones** (array) - A list of supported timezone strings. #### Response Example ```json { "timezones": [ "string" ] } ``` #### Error Responses - **400**: Input rejected due to parsing error(s). - **404**: Requested resource could not be found. - **415**: The content-type 'json/application' is required. - **500**: General server-side error occurred. - **503**: API is unavailable due to maintenance. - **555**: Error occurred while communicating with the database. ``` -------------------------------- ### Splashpage Details Response Sample (JSON) Source: https://api-docs.kaiwoo.ai/network_management/index Represents the structure of a splashpage's details upon successful retrieval. It includes all creation fields plus a unique ID and organization attributes. This is typically returned for GET requests. ```json { "name": "string", "description": "string", "splash_html": "string", "client_force_timeout": 1440, "success_landing_page": "string", "policies": { "traffic": "allow non-HTTP", "redirect_https_traffic": "enable", "network_cache": "active" }, "walled_garden": [ "string" ], "id": 0, "attributes": { "shared": { "organisation": { "id": 0 } } } } ``` -------------------------------- ### GET /organisations/{organisation_id}/networks/{network_id} Source: https://api-docs.kaiwoo.ai/network_management/index Retrieves details of a specific network within an organization. ```APIDOC ## GET /organisations/{organisation_id}/networks/{network_id} ### Description Retrieves details of a specific network within an organization. ### Method GET ### Endpoint `/v2/organisations/{organisation_id}/networks/{network_id}` ### Parameters #### Path Parameters - **organisation_id** (integer) - Required - The unique identifier of the organisation. - **network_id** (integer) - Required - The unique identifier of the network. ### Response #### Success Response (200) - **description** (string) - Description of the network. - **address** (string) - Network address. - **maintenance** (object) - Maintenance information. - **name** (string) - Name of the network. - **wifi_ai** (boolean) - Indicates if Wi-Fi AI is enabled. - **wireless** (object) - Wireless configuration. - **protocols** (object) - Network protocols configuration. - **policies** (object) - Network policies. - **timezone** (string) - Timezone of the network. - **leds** (object) - LED settings. - **ethernet** (object) - Ethernet configuration. - **id** (integer) - Network ID. - **resource_id** (string) - Resource ID. - **attributes** (object) - Network attributes. - **presence_analytics** (array) - Presence analytics configuration. - **syslog** (array) - Syslog configuration. #### Response Example ```json { "description": "string", "address": "string", "maintenance": { "firmware_upgrade": { "mode": "organisation" }, "schedule_id": 1 }, "name": "string", "wifi_ai": true, "wireless": { "radio": [ { "band": "2.4GHz", "name": "radio0", "channel": 1, "channel_width_max": 20, "tx_power": 20 } ], "mesh": { "enable": false } }, "protocols": { "stp": { "mode": "active" }, "ssh": { "public_keys": [ "strings" ], "password": "stringst" }, "http": { "password": "stringst" }, "lldp": { "med": { "network_policy": { "voice": { "mode": "active", "vlan_id": 1, "cos": 5, "dscp": 46 } } } } }, "policies": { "auto_recovery": "active" }, "timezone": "string", "leds": { "mode": "active" }, "ethernet": { "mode": "bridge", "vlan": { "tagging": "inactive" } }, "id": 0, "resource_id": "string", "attributes": { "permissions": [ "view" ], "shared": { "organisation": { "id": 0, "custom_data": "string" } } }, "presence_analytics": [ { "name": "string", "subscription_id": 0, "service": { "logo_url": "stringstri", "dashboard_url": "stringstri" } } ], "syslog": [ { "name": "string", "subscription_id": 0, "service": { "logo_url": "stringstri", "dashboard_url": "stringstri" } } ] } ``` ```