Download OpenAPI specification:Download
The Guest and IoT Manager (GIM) API allows you to programmatically create, access, and manage onboarding templates, guest users, and guest devices in a simple and secure manner.
It is based on RESTful principles and uses standard HTTP methods for requests and responses. API request and response bodies are formatted in JavaScript Object Notation (JSON).
You can use any language or library that can submit REST API requests and process JSON to query the GIM API. Examples of languages and libraries that can build REST clients include:
You can also use tools like Postman, an easy-to-use Chrome extension for making HTTP requests. Note: To submit API calls and make configuration changes through the REST API, your RESTful API consuming program needs to have logged in using Administrator or Provisioner credentials.
The GIM API uses the HTTP Basic Authentication scheme for authentication and authorization. You must include a valid Provisioner username and password in username:password
format within the Authorization header of your API request. The username
and password
are encoded with Base64, which is an encoding technique that converts them into a set of 64 characters to ensure safe transmission as part of the Authorization header.
To construct a REST API request, combine the following components:
Component | Description |
---|---|
The HTTP method |
|
The base URL of the API | https://{IP_Address}/GIM , where {IP_Address} is the address of the Guest and IoT Manager API server. |
The URI to the resource | The resource to create, update, query, or delete. For example, /rest/onboardingTemplates . |
Path parameters | These variables are part of the full URL path and are used to point to a specific resource within a collection. For example, /rest/guestUsers/{username} , where {username} is the path parameter and is substituted with an actual value when making the API call. |
Query string parameters | For most REST GET calls, you can specify one or more optional query parameters on the request URI to filter, limit the size of, and sort the data in an API response. Query string parameters appear after a question mark (?) in the endpoint. Each parameter is listed one right after the other with an ampersand (&) separating them. The order of the query string parameters does not matter. |
HTTP request headers | The following HTTP headers are supported:
|
JSON request body | Required for most POST and PUT requests. |
When you POST or PUT data to the REST API server, set the Content-Type header to application/json
. It can also be useful to set the following request headers:
accept: application/json
accept-encoding: gzip,deflate,br
accept-language: en-US,en;q=0.8,und;q=0.6
The GIM REST API returns standard HTTP response codes in addition to JSON-based error messages in the response body to help you identify the source of a problem. The following table lists some common response messages:
HTTP Code | Description |
---|---|
200 OK | The request was successful |
201 Created | The resource was created successfully |
204 No Content | Success with no response body |
400 Bad Request | The operation failed because the request is syntactically incorrect or violated schema |
401 Unauthorized | The authentication credentials are invalid or the user is not authorized to use the API |
404 Not Found | The server did not find the specified resource that matches the request URL |
405 Method Not Allowed | The API does not support the requested HTTP method |
406 Not Acceptable | The resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request |
500 Internal Server Error | The server encountered an unexpected condition which prevented it from fulfilling the request |
503 Service Unavailable | The server is currently unable to handle the request due to a temporary overloading or maintenance of the server |
The GIM REST API implements versioning using a custom request header. You must include the api-version
header in your request to specify the version that you want to use for that operation. The current version of the GIM REST API is v1.0
.
Creating Onboarding Templates in Guest & IoT Manager
To create onboarding templates:
https://<Guest & IoT Manager IP address>/GIM/admin
.admin
and admin
respectively.Creating a Provisioner and Associating it with Onboarding Templates
To create a Provisioner and associate it with existing Onboarding Templates:
Get details about the API, such as base path and version
GIM REST API information
Get list of Onboarding Templates associated with a Provisioner
api-version required | string Default: "v1.0" REST API version |
List of Onboarding Templates associated with the Provisioner
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Retrieve details of a specific Onboarding Template associated with the Provisioner
onboardingTemplateName required | string Name of Onboading Template |
api-version required | string Default: "v1.0" REST API version |
Onboarding Template details
Onboarding Template is not accessible/invalid
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Get custom labels for a guest user
api-version required | string Default: "v1.0" REST API version |
Guest user custom labels
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Cannot fetch custom labels
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Get custom labels for a device
api-version required | string Default: "v1.0" REST API version |
Device custom labels
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Could not retrieve custom labels
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Create a new device in the Guest and IoT Manager
api-version required | string Default: "v1.0" REST API version |
Device configuration
Device | object |
Device created successfully
Onboarding Template is not accessible/invalid | Does not have permission to provision the device | Invalid input data | Record already exists with the same MAC Address
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Reached maximum license capacity | Maximum limit of enabled devices reached for the Provisioner
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Get devices based on filter criteria
field | string Enum: "macAddress" "deviceName" "source" "deviceTypeGroup" "startDate" "endDate" "onboardingTemplate" Field to be filtered |
oper | string Enum: "equals" "notEquals" "startsWith" "endsWith" "contains" "greaterThan" "greaterThanEqual" "lessThan" "lessThanEqual" Operator for filtering |
value | string Value for filtering. For startTime and endTime based filtering, the value should be in the format YYYY/MM/dd hh:mm:ss AM/PM zone-name(Eg., 2018/09/08 10:10:22 AM US/Eastern) |
start | number Start index of the devices |
limit required | number Maximum number of entries to be filtered |
api-version required | string Default: "v1.0" REST API version |
List of devices based on the specified filters
Onboarding Template is not accessible/invalid | Does not have permission to provision the device | Invalid limit
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Devices not found
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Delete multiple devices by MAC address
api-version required | string Default: "v1.0" REST API version |
List of MAC addresses of devices
DevcieList | object |
Devices deleted successfully
Onboarding Template is not accessible/invalid | Does not have permission to provision the device
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Devices not found
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Update device with the specified MAC Address
MAC required | string MAC address of the device |
api-version required | string Default: "v1.0" REST API version |
Device configuration
Device | object |
Device updated successfully
Onboarding Template is not accessible/invalid | Does not have permission to provision the device | Invalid input data
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Maximum limit of enabled devices reached for the Provisioner
Not found
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Delete a single device with the specified MAC address
MAC required | string MAC Address of the device |
api-version required | string Default: "v1.0" REST API version |
Device deleted successfully
Onboarding Template is not accessible/invalid | Does not have permission to provision the device
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Device not found
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Get device details by MAC address for a Provisioner
MAC required | string MAC Address of the device |
viewAll | boolean If the value is true and in the onboarding template, 'Provisioners using this Onboarding Template can view all records of this GIM Domain' checkbox is selected, then the provisioner can view any record |
api-version required | string Default: "v1.0" REST API version |
Device details
Onboarding Template is not accessible/invalid | Does not have permission to provision the device | Invalid input data
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Device does not exist
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Get the next set of N devices from a specificed start index, with or without details
start required | number The starting index of the device list |
limit required | number Maximum number of entries |
hideDetails | boolean When true, the device details are not specified in the response |
api-version required | string Default: "v1.0" REST API version |
List of N devices from the specified start index
Onboarding Template is not accessible/invalid | Does not have permission to provision the device | Invalid limit
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Devices not found
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Get list of first N devices, with or without details
limit required | number Maximum number of entries |
hideDetails | boolean When true, the device details are not specified in the response |
api-version required | string Default: "v1.0" REST API version |
List of first N devices
Onboarding Template is not accessible/invalid | Does not have permission to provision the device | Invalid limit
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Devices not found
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Get list of last N devices, with or without details
limit required | number Maximum number of entries |
hideDetails | boolean When true, the guest user details are not specified in the response |
api-version required | string Default: "v1.0" REST API version |
List of last N devices
Onboarding Template is not accessible/invalid | Does not have permission to provision the device | Invalid limit
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Devices not found
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Get total count of device records for a Provisioner
api-version required | string Default: "v1.0" REST API version |
Total count of device records for a Provisioner
Onboarding Template is not accessible/invalid | Does not have permission to provision the device
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Delete all devices associated with a provisioner (bulk delete)
api-version required | string Default: "v1.0" REST API version |
Successfully deleted all devices
Onboarding Template is not accessible/invalid | Does not have permission to provision the device
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Devices not found
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Get status of multiple devices by MAC address
MACs required | string MAC address of the devices separated by '|' |
api-version required | string Default: "v1.0" REST API version |
Status of the devices
Onboarding Template is not accessible/invalid | Does not have permission to provision the device
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Get status of a single device by MAC address
MAC required | string MAC address of the device |
api-version required | string Default: "v1.0" REST API version |
Status of the device
Onboarding Template is not accessible/invalid | Does not have permission to provision the device
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Create new guest user in the Guest and IoT Manager.
api-version required | string Default: "v1.0" REST API version |
Guest user configuration
GuestUser | object |
Guest user created successfully
Onboarding Template is not accessible/invalid | Does not have permission to provision the guest user | Invalid input data | Record already exists with the same username
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Reached maximum license capacity
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Get guest users based on filter criteria
field | string Enum: "userName" "firstName" "lastName" "email" "startDate" "endDate" "smsAddress" "onboardingTemplate" Field to be filtered |
oper | string Enum: "equals" "notEquals" "startsWith" "endsWith" "contains" "greaterThan" "greaterThanEqual" "lessThan" "lessThanEqual" Operator for filtering |
value | string Value for filtering. For startTime and endTime based filtering, the value should be in the format YYYY/MM/dd hh:mm:ss AM/PM zone-name(Eg., 2018/09/08 10:10:22 AM US/Eastern) |
start | number Start index of the guest user |
limit required | number Maximum number of entries to be filtered |
api-version required | string Default: "v1.0" REST API version |
List of guest users after applying the filter
Onboarding Template is not accessible/invalid | Does not have permission to provision the guest user | Invalid limit
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Guest Users not found
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Delete guest users
api-version required | string Default: "v1.0" REST API version |
List of guest user usernames
GuestUserList | object |
Guest users deleted successfully
Onboarding Template is not accessible/invalid | Does not have permission to provision the guest user
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Guest users not found
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Update guest user with the specified username
username required | string Username of the guest user |
api-version required | string Default: "v1.0" REST API version |
Guest User configuration
GuestUser | object |
Guest user updated successfully
Onboarding Template is not accessible/invalid | Does not have permission to provision the guest user | Invalid input data
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Not found
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Delete guest user by username
username required | string Username of the guest user |
api-version required | string Default: "v1.0" REST API version |
Guest user deleted successfully
Onboarding Template is not accessible/invalid | Does not have permission to provision the guest user
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Guest user not found
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Get specified guest user details by username
username required | string Username of the guest user |
viewAll | boolean If the value is true and in the onboarding template, 'Provisioners using this Onboarding Template can view all records of this GIM Domain' checkbox is selected, then the Provisioner can view any record |
api-version required | string Default: "v1.0" REST API version |
Guest user details
Onboarding Template is not accessible/invalid | Does not have permission to provision the guest user | Invalid input data
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Guest user does not exist
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Resend login credentials to a guest user via E-mail/SMS notification
username required | string Username of the Guest user |
api-version required | string Default: "v1.0" REST API version |
Successfully resent the password to Email/Mobile phone
Guest user exists but Email and SMS address empty | Guest ser exists but Email and SMS notification off in Onboarding Template | Email notification disabled
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Guest user does not exist
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Get list of N guest users from the specified start index
start required | number Start index |
limit required | number Maximum number of entries |
hideDetails | boolean When value is true, guest user details are not specified in the response |
api-version required | string Default: "v1.0" REST API version |
List of N Guest Users from specified start index
Onboarding Template is not accessible/invalid | Does not have permission to provision the guest user | Invalid limit
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Guest users not found
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Get first N guest users
limit required | number Maximum number of entries |
hideDetails | boolean When value is true, guest user details are not specified in the response |
api-version required | string Default: "v1.0" REST API version |
List of first N guest users
Onboarding Template is not accessible/invalid | Does not have permission to provision the guest user | Invalid limit
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Guest users not found
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Get last N guest users
limit required | number Maximum number of entries |
hideDetails | boolean When value is true, guest user details are not specified in the response |
api-version required | string Default: "v1.0" REST API version |
List of last N guest users
Onboarding Template is not accessible/invalid | Does not have permission to provision the guest user | Invalid limit
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Guest users not found
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Get total count of guest user records for a Provisioner
api-version required | string Default: "v1.0" REST API version |
Total count of guest user records for a Provisioner
Onboarding Template is not accessible/invalid | Does not have permission to provision the guest user
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Delete all guest users associated with a Provisioner (bulk delete)
api-version required | string Default: "v1.0" REST API version |
Guest users deleted successfully
Onboarding Template is not accessible/invalid | Does not have permission to provision the guest user
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Guest users not found
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Get status of multiple users
userNames required | string Usernames of the guest users separated by '|' |
api-version required | string Default: "v1.0" REST API version |
Status of the guest users
Onboarding Template is not accessible/invalid | Does not have permission to provision the guest user
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout
Get status of a single guest user
username required | string Username of the guest user |
api-version required | string Default: "v1.0" REST API version |
Status of the guest user
Onboarding Template is not accessible/invalid | Does not have permission to provision the guest user
Missing Authorization header | Invalid credentials | Provisioner is not associated with any REST API Onboarding Template
Missing version | Invalid version format | Version not supported
Internal server error
Radius error | Access Control Engine not reachable | Request timeout