Akiles API Reference

Akiles API

API Endpoint
https://api.akiles.app/v1
Terms of Service: https://akiles.app/terms
Contact: hello@akiles.app
Schemes: https
Version: 1.0.0

Authentication

Authentication in the API uses HTTP Bearer auth. You must include an Authorization header with type Bearer and your API key as value. For example:

Authorization: Bearer ak_3pbzqfedq8k5n22g5bdh_258f122bf9ad8795326a37fdd02c33f5c581c3d2a0f0c364

Api keys have admin equivalent permissions. Action requests to devices are logged with the specific API Key.

Pagination

The API uses cursor-based pagination. All list endpoints return data in reverse chronological order, and have the following common structure:

GET parameters

  • limit: How many items to fetch, between 1 and 100, default 10.
  • cursor: Value of cursor_next from a previous request. If not given, it will fetch the most recent items.

Response data

  • data: The received items, in a JSON array.
  • has_next: Whether there are more items to fetch.
  • cursor_next: Cursor to fetch the next page of items. Only present if has_next is true.

Organization

Everything in Akiles APIs belongs to an Organization. An organization represents one Akiles customer and can handle multiple sites, devices, etc.. API keys are tied to organizations too, and they give access only to the objects belonging to the organization.

organization: object

id
string (organization_id)

Unique identifier.

name
string

Name. Typically the company name.

address
string

Organization main address.

phone
string

Contact phone number

is_deleted
boolean

Indicates if the object has been deleted.

created_at
string (date-time)

Creation time for this object.

Example
{
  "id": "org_3merk33gt1v9ypgfzrp1",
  "name": "Grandes Almacenes de España S.A",
  "address": "1 Hacker Way Menlo Park, CA 94025, EE. UU.",
  "phone": "+34633333013",
  "is_deleted": false,
  "created_at": "2018-03-13T16:56:51.766836837Z"
}

Get organization

GET /organization
An instance of organization
Response Example (200 OK)
{
  "id": "org_3merk33gt1v9ypgfzrp1",
  "name": "Grandes Almacenes de España S.A",
  "address": "1 Hacker Way Menlo Park, CA 94025, EE. UU.",
  "phone": "+34633333013",
  "is_deleted": false,
  "created_at": "2018-03-13T16:56:51.766836837Z"
}

Edit organization

PATCH /organization
name
string

Organization Name, typically is the Company name.

address
string

Organization main address.

phone
string

Contact phone number

Request Example
{
  "name": "Grandes Almacenes de España S.A",
  "address": "1 Hacker Way Menlo Park, CA 94025, EE. UU.",
  "phone": "+34633333013"
}
An instance of organization
Response Example (200 OK)
{
  "id": "org_3merk33gt1v9ypgfzrp1",
  "name": "Grandes Almacenes de España S.A",
  "address": "1 Hacker Way Menlo Park, CA 94025, EE. UU.",
  "phone": "+34633333013",
  "is_deleted": false,
  "created_at": "2018-03-13T16:56:51.766836837Z"
}

Site

A site is a physical place where Akiles devices are installed. For example, it can be a building, a floor... Devices and gadgets belong to a particular site.

End users will see one "card" in their app's home screen per site. The site information (email, contact, etc) is displayed in that card.

location: object

lat
number (float)

Latitude in degrees

lng
number (float)

Longitude

Example
{
  "lat": 41.2904861,
  "lng": 2.18290753
}

site_geo: object

location
location
radius
number (int32)

Radius in meters

Example
{
  "location": {
    "lat": 41.2904861,
    "lng": 2.18290753
  },
  "radius": 100
}

site_map: object

location
location
place_id
string
address
string
image_url
string
Example
{
  "location": {
    "lat": 41.2904861,
    "lng": 2.18290753
  },
  "place_id": "string",
  "address": "string",
  "image_url": "string"
}

site: object

id
string (site_id)

site ID

name
string
organization_id
string (organization_id)

organization ID

geo
site_geo
map
site_map
phone
string
email
string
info
string
is_deleted
boolean

True if this object has been deleted.

created_at
string (date-time)

Creation time for this object.

Example
{
  "id": "site_3merk33gt21kym11een1",
  "name": "string",
  "organization_id": "org_3merk33gt1v9ypgfzrp1",
  "geo": {
    "location": {
      "lat": 41.2904861,
      "lng": 2.18290753
    },
    "radius": 100
  },
  "map": {
    "location": {
      "lat": 41.2904861,
      "lng": 2.18290753
    },
    "place_id": "string",
    "address": "string",
    "image_url": "string"
  },
  "phone": "string",
  "email": "string",
  "info": "string",
  "is_deleted": false,
  "created_at": "2018-03-13T16:56:51.766836837Z"
}

List sites

GET /sites
data
site
has_next
boolean
cursor_next
string (cursor)
Response Example (200 OK)
{
  "data": [
    {
      "id": "site_3merk33gt21kym11een1",
      "name": "string",
      "organization_id": "org_3merk33gt1v9ypgfzrp1",
      "geo": {
        "location": {
          "lat": 41.2904861,
          "lng": 2.18290753
        },
        "radius": 100
      },
      "map": {
        "location": {
          "lat": 41.2904861,
          "lng": 2.18290753
        },
        "place_id": "string",
        "address": "string",
        "image_url": "string"
      },
      "phone": "string",
      "email": "string",
      "info": "string",
      "is_deleted": false,
      "created_at": "2018-03-13T16:56:51.766836837Z"
    }
  ],
  "has_next": true,
  "cursor_next": "i9vmCnOgONT2AjUMCn1K1N5cJg=="
}

Get site

GET /sites/{site_id}
site_id
in path
string (site_id)

site ID

An instance of site
Response Example (200 OK)
{
  "id": "site_3merk33gt21kym11een1",
  "name": "string",
  "organization_id": "org_3merk33gt1v9ypgfzrp1",
  "geo": {
    "location": {
      "lat": 41.2904861,
      "lng": 2.18290753
    },
    "radius": 100
  },
  "map": {
    "location": {
      "lat": 41.2904861,
      "lng": 2.18290753
    },
    "place_id": "string",
    "address": "string",
    "image_url": "string"
  },
  "phone": "string",
  "email": "string",
  "info": "string",
  "is_deleted": false,
  "created_at": "2018-03-13T16:56:51.766836837Z"
}

Device

A device is a physical device installed in a site.

device: object

id
string (device_id)

device ID

organization_id
string (organization_id)

organization ID

site_id
string (site_id)

site ID

hardware_id
string (hardware_id)

hardware ID

config_status
string none, waiting_for_parents, waiting, connecting, configuring, configured, no_path
name
string
is_deleted
boolean

True if this object has been deleted.

created_at
string (date-time)

Creation time for this object.

Example
{
  "id": "dev_3merk33gt3l525ryhcmh",
  "organization_id": "org_3merk33gt1v9ypgfzrp1",
  "site_id": "site_3merk33gt21kym11een1",
  "hardware_id": "hw_3merk33gt2a7grgmljhh",
  "config_status": "configured",
  "name": "string",
  "is_deleted": false,
  "created_at": "2018-03-13T16:56:51.766836837Z"
}

List devices

GET /devices
data
device
has_next
boolean
cursor_next
string (cursor)
Response Example (200 OK)
{
  "data": [
    {
      "id": "dev_3merk33gt3l525ryhcmh",
      "organization_id": "org_3merk33gt1v9ypgfzrp1",
      "site_id": "site_3merk33gt21kym11een1",
      "hardware_id": "hw_3merk33gt2a7grgmljhh",
      "config_status": "configured",
      "name": "string",
      "is_deleted": false,
      "created_at": "2018-03-13T16:56:51.766836837Z"
    }
  ],
  "has_next": true,
  "cursor_next": "i9vmCnOgONT2AjUMCn1K1N5cJg=="
}

Get device

GET /devices/{device_id}
device_id
in path
string (device_id)

device ID

An instance of device
Response Example (200 OK)
{
  "id": "dev_3merk33gt3l525ryhcmh",
  "organization_id": "org_3merk33gt1v9ypgfzrp1",
  "site_id": "site_3merk33gt21kym11een1",
  "hardware_id": "hw_3merk33gt2a7grgmljhh",
  "config_status": "configured",
  "name": "string",
  "is_deleted": false,
  "created_at": "2018-03-13T16:56:51.766836837Z"
}

Gadget

A gadget is a "thing that can be controlled" by a device. Gadgets can be doors, lights, heating, window blinds...

Some devices can have multiple gadgets (gateway_controllers and controllers). Others can have only one (smart locks, for example).

Gadgets can have multiple actions depending on what they are. For example, a normal door will just have an open action, but a blind can have raise and lower actions, and a light can have on and off actions. Actions are identified by their string ID, and they also have a human-friendly name for display in the UI.

Gadget behavior is controlled by a script executed on the device. This script can use multiple relays if needed (for example, a blind gadget uses one relay for raising and another for lowering). This means there is no one-to-one correspondence between gadgets and physical relays on a device.

gadget_action: object

id
string

action ID

name
string

Action name

i18n_name
string

Action translation key name

index
number (int32)

Action index. This is sent as an argument to the gadget script when performing the action.

Example
{
  "id": "open",
  "name": "Open",
  "i18n_name": "action_open",
  "index": 0
}

gadget: object

id
string (gadget_id)

gadget ID

organization_id
string (organization_id)

organization ID

device_id
string (device_id)

device ID

site_id
string (site_id)

site ID

name
string

Gadget name

i18n_name
string

Gadget translation key name

index
number (int32)

Gadget index in the device configuration

script_text
string

Script text

actions
gadget_action
is_deleted
boolean

True if this object has been deleted.

created_at
string (date-time)

Creation time for this object.

Example
{
  "id": "gad_3merk33gt1hnl6pvbu71",
  "organization_id": "org_3merk33gt1v9ypgfzrp1",
  "device_id": "dev_3merk33gt3l525ryhcmh",
  "site_id": "site_3merk33gt21kym11een1",
  "name": "string",
  "i18n_name": "string",
  "index": 2,
  "script_text": "string",
  "actions": [
    {
      "id": "open",
      "name": "Open",
      "i18n_name": "action_open",
      "index": 0
    }
  ],
  "is_deleted": false,
  "created_at": "2018-03-13T16:56:51.766836837Z"
}

List gadgets

GET /gadgets
data
gadget
has_next
boolean
cursor_next
string (cursor)
Response Example (200 OK)
{
  "data": [
    {
      "id": "gad_3merk33gt1hnl6pvbu71",
      "organization_id": "org_3merk33gt1v9ypgfzrp1",
      "device_id": "dev_3merk33gt3l525ryhcmh",
      "site_id": "site_3merk33gt21kym11een1",
      "name": "string",
      "i18n_name": "string",
      "index": 2,
      "script_text": "string",
      "actions": [
        {
          "id": "open",
          "name": "Open",
          "i18n_name": "action_open",
          "index": 0
        }
      ],
      "is_deleted": false,
      "created_at": "2018-03-13T16:56:51.766836837Z"
    }
  ],
  "has_next": true,
  "cursor_next": "i9vmCnOgONT2AjUMCn1K1N5cJg=="
}

Get gadget

GET /gadgets/{gadget_id}
gadget_id
in path
string (gadget_id)

gadget ID

An instance of gadget
Response Example (200 OK)
{
  "id": "gad_3merk33gt1hnl6pvbu71",
  "organization_id": "org_3merk33gt1v9ypgfzrp1",
  "device_id": "dev_3merk33gt3l525ryhcmh",
  "site_id": "site_3merk33gt21kym11een1",
  "name": "string",
  "i18n_name": "string",
  "index": 2,
  "script_text": "string",
  "actions": [
    {
      "id": "open",
      "name": "Open",
      "i18n_name": "action_open",
      "index": 0
    }
  ],
  "is_deleted": false,
  "created_at": "2018-03-13T16:56:51.766836837Z"
}

Do gadget action

POST /gadgets/{gadget_id}/actions/{action_id}
gadget_id
in path
string (gadget_id)

gadget ID

action_id
in path
string

gadget action ID

Request Example
{}
Response Example (200 OK)
{}

Link

The Link object defines wireless links between devices, forming the Akiles mesh network.

Member

member: object

id
string (member_id)

member ID

organization_id
string (organization_id)

organization ID

name
string

Member name shown in the admin panel. This is for the organization admins to identify the member, it's never shown to the user.

start_date
string (date-time)

Start date of the member's access. If null, the access is valid immediately.

end_date
string (date-time)

End date of the member's access. If null, the access is valid forever (ie, until an end date is set or the member is deleted.)

is_deleted
boolean

True if this object has been deleted.

member_group_ids
string[]

Groups to which this member belongs. The member will have the permissions of all the groups combined.

created_at
string (date-time)

Creation time for this object.

Example
{
  "id": "mem_3merk33gt7ml3tde71f3",
  "organization_id": "org_3merk33gt1v9ypgfzrp1",
  "name": "string",
  "start_date": "2018-03-13T16:56:51.766836837Z",
  "end_date": "2018-03-13T16:56:51.766836837Z",
  "is_deleted": false,
  "member_group_ids": [
    "mg_3merk33gt1692dk2p2m1"
  ],
  "created_at": "2018-03-13T16:56:51.766836837Z"
}

List members

GET /members
data
member
has_next
boolean
cursor_next
string (cursor)
Response Example (200 OK)
{
  "data": [
    {
      "id": "mem_3merk33gt7ml3tde71f3",
      "organization_id": "org_3merk33gt1v9ypgfzrp1",
      "name": "string",
      "start_date": "2018-03-13T16:56:51.766836837Z",
      "end_date": "2018-03-13T16:56:51.766836837Z",
      "is_deleted": false,
      "member_group_ids": [
        "mg_3merk33gt1692dk2p2m1"
      ],
      "created_at": "2018-03-13T16:56:51.766836837Z"
    }
  ],
  "has_next": true,
  "cursor_next": "i9vmCnOgONT2AjUMCn1K1N5cJg=="
}

Get member

GET /members/{member_id}
member_id
in path
string (member_id)

member ID

An instance of member
Response Example (200 OK)
{
  "id": "mem_3merk33gt7ml3tde71f3",
  "organization_id": "org_3merk33gt1v9ypgfzrp1",
  "name": "string",
  "start_date": "2018-03-13T16:56:51.766836837Z",
  "end_date": "2018-03-13T16:56:51.766836837Z",
  "is_deleted": false,
  "member_group_ids": [
    "mg_3merk33gt1692dk2p2m1"
  ],
  "created_at": "2018-03-13T16:56:51.766836837Z"
}

Member group

permission_rule: object

site_id
string (site_id)

Site ID. If specified, the permission rule allows using all gadgets from the site.

gadget_id
string (gadget_id)

Gadget ID. If specified, the permission rule allows using this particular gadget.

Example
{
  "site_id": "site_3merk33gt21kym11een1",
  "gadget_id": "gad_3merk33gt1hnl6pvbu71"
}

member_group: object

id
string (member_group_id)

member_group ID

organization_id
string (organization_id)

organization ID

name
string

Group name

is_geo
boolean

True if geo restriction is enabled for the permissions specified in this group.

permissions
permission_rule
is_deleted
boolean

True if this object has been deleted.

created_at
string (date-time)

Creation time for this object.

Example
{
  "id": "mg_3merk33gt1692dk2p2m1",
  "organization_id": "org_3merk33gt1v9ypgfzrp1",
  "name": "string",
  "is_geo": "boolean",
  "permissions": [
    {
      "site_id": "site_3merk33gt21kym11een1",
      "gadget_id": "gad_3merk33gt1hnl6pvbu71"
    }
  ],
  "is_deleted": false,
  "created_at": "2018-03-13T16:56:51.766836837Z"
}

List member groups

GET /member_groups
data
member_group
has_next
boolean
cursor_next
string (cursor)
Response Example (200 OK)
{
  "data": [
    {
      "id": "mg_3merk33gt1692dk2p2m1",
      "organization_id": "org_3merk33gt1v9ypgfzrp1",
      "name": "string",
      "is_geo": "boolean",
      "permissions": [
        {
          "site_id": "site_3merk33gt21kym11een1",
          "gadget_id": "gad_3merk33gt1hnl6pvbu71"
        }
      ],
      "is_deleted": false,
      "created_at": "2018-03-13T16:56:51.766836837Z"
    }
  ],
  "has_next": true,
  "cursor_next": "i9vmCnOgONT2AjUMCn1K1N5cJg=="
}

Get member group

GET /member_groups/{member_group_id}
member_group_id
in path
string (member_group_id)

member_group ID

An instance of member_group
Response Example (200 OK)
{
  "id": "mg_3merk33gt1692dk2p2m1",
  "organization_id": "org_3merk33gt1v9ypgfzrp1",
  "name": "string",
  "is_geo": "boolean",
  "permissions": [
    {
      "site_id": "site_3merk33gt21kym11een1",
      "gadget_id": "gad_3merk33gt1hnl6pvbu71"
    }
  ],
  "is_deleted": false,
  "created_at": "2018-03-13T16:56:51.766836837Z"
}

Member invitation

member_invitation: object

id
string (member_invitation_id)

member_invitation ID

member_id
string (member_id)

member ID

type
string link, email, qr_code
email
string
is_single_use
boolean
expires_at
time (time)
is_deleted
boolean

True if this object has been deleted.

created_at
string (date-time)

Creation time for this object.

Example
{
  "id": "mi_3merk33gt7fsymkn47q1",
  "member_id": "mem_3merk33gt7ml3tde71f3",
  "type": "email",
  "email": "string",
  "is_single_use": "boolean",
  "expires_at": "time (time)",
  "is_deleted": false,
  "created_at": "2018-03-13T16:56:51.766836837Z"
}

List member invitations

GET /member_invitations
data
member_invitation
has_next
boolean
cursor_next
string (cursor)
Response Example (200 OK)
{
  "data": [
    {
      "id": "mi_3merk33gt7fsymkn47q1",
      "member_id": "mem_3merk33gt7ml3tde71f3",
      "type": "email",
      "email": "string",
      "is_single_use": "boolean",
      "expires_at": "time (time)",
      "is_deleted": false,
      "created_at": "2018-03-13T16:56:51.766836837Z"
    }
  ],
  "has_next": true,
  "cursor_next": "i9vmCnOgONT2AjUMCn1K1N5cJg=="
}

Get member invitation

GET /member_invitations/{member_invitation_id}
member_invitation_id
in path
string (member_invitation_id)

member_invitation ID

An instance of member_invitation
Response Example (200 OK)
{
  "id": "mi_3merk33gt7fsymkn47q1",
  "member_id": "mem_3merk33gt7ml3tde71f3",
  "type": "email",
  "email": "string",
  "is_single_use": "boolean",
  "expires_at": "time (time)",
  "is_deleted": false,
  "created_at": "2018-03-13T16:56:51.766836837Z"
}

Event

event: object

id
string (event_id)

event ID

organization_id
string (organization_id)

organization ID

subject
object
verb
string create, edit, delete, use
object
object
created_at
string (date-time)

Creation time for this object.

Example
{
  "id": "evt_3merk33gt21kym11een1",
  "organization_id": "org_3merk33gt1v9ypgfzrp1",
  "subject": {
    "type": "member",
    "member_id": "mem_3merk33gt7ml3tde71f3",
    "user_id": "usr_3merk33gt13y99aqtze1",
    "user_session_id": "sess_3merk33gt13y99aqtze1",
    "api_key_id": "ak_3merk33gt21kym11een1",
    "admin_id": "adm_3merk33gt7ml3ltq5bg1"
  },
  "verb": "use",
  "object": {
    "type": "gadget_action",
    "admin_id": "adm_3merk33gt7ml3ltq5bg1",
    "api_key_id": "ak_3merk33gt21kym11een1",
    "device_id": "dev_3merk33gt3l525ryhcmh",
    "gadget_id": "gad_3merk33gt1hnl6pvbu71",
    "link_id": "lnk_3merk33gt345nu3dnkmh",
    "member_id": "mem_3merk33gt7ml3tde71f3",
    "member_group_id": "mg_3merk33gt1692dk2p2m1",
    "member_invitation_id": "mi_3merk33gt7fsymkn47q1",
    "site_id": "site_3merk33gt21kym11een1",
    "gadget_action_id": "open"
  },
  "created_at": "2018-03-13T16:56:51.766836837Z"
}

List events

GET /events
data
event
has_next
boolean
cursor_next
string (cursor)
Response Example (200 OK)
{
  "data": [
    {
      "id": "evt_3merk33gt21kym11een1",
      "organization_id": "org_3merk33gt1v9ypgfzrp1",
      "subject": {
        "type": "member",
        "member_id": "mem_3merk33gt7ml3tde71f3",
        "user_id": "usr_3merk33gt13y99aqtze1",
        "user_session_id": "sess_3merk33gt13y99aqtze1",
        "api_key_id": "ak_3merk33gt21kym11een1",
        "admin_id": "adm_3merk33gt7ml3ltq5bg1"
      },
      "verb": "use",
      "object": {
        "type": "gadget_action",
        "admin_id": "adm_3merk33gt7ml3ltq5bg1",
        "api_key_id": "ak_3merk33gt21kym11een1",
        "device_id": "dev_3merk33gt3l525ryhcmh",
        "gadget_id": "gad_3merk33gt1hnl6pvbu71",
        "link_id": "lnk_3merk33gt345nu3dnkmh",
        "member_id": "mem_3merk33gt7ml3tde71f3",
        "member_group_id": "mg_3merk33gt1692dk2p2m1",
        "member_invitation_id": "mi_3merk33gt7fsymkn47q1",
        "site_id": "site_3merk33gt21kym11een1",
        "gadget_action_id": "open"
      },
      "created_at": "2018-03-13T16:56:51.766836837Z"
    }
  ],
  "has_next": true,
  "cursor_next": "i9vmCnOgONT2AjUMCn1K1N5cJg=="
}

Get event

GET /events/{event_id}
event_id
in path
string (event_id)

event ID

An instance of event
Response Example (200 OK)
{
  "id": "evt_3merk33gt21kym11een1",
  "organization_id": "org_3merk33gt1v9ypgfzrp1",
  "subject": {
    "type": "member",
    "member_id": "mem_3merk33gt7ml3tde71f3",
    "user_id": "usr_3merk33gt13y99aqtze1",
    "user_session_id": "sess_3merk33gt13y99aqtze1",
    "api_key_id": "ak_3merk33gt21kym11een1",
    "admin_id": "adm_3merk33gt7ml3ltq5bg1"
  },
  "verb": "use",
  "object": {
    "type": "gadget_action",
    "admin_id": "adm_3merk33gt7ml3ltq5bg1",
    "api_key_id": "ak_3merk33gt21kym11een1",
    "device_id": "dev_3merk33gt3l525ryhcmh",
    "gadget_id": "gad_3merk33gt1hnl6pvbu71",
    "link_id": "lnk_3merk33gt345nu3dnkmh",
    "member_id": "mem_3merk33gt7ml3tde71f3",
    "member_group_id": "mg_3merk33gt1692dk2p2m1",
    "member_invitation_id": "mi_3merk33gt7fsymkn47q1",
    "site_id": "site_3merk33gt21kym11een1",
    "gadget_action_id": "open"
  },
  "created_at": "2018-03-13T16:56:51.766836837Z"
}

Admin

admin: object

id
string (admin_id)

admin ID

organization_id
string (organization_id)

organization ID

user_id
string (user_id)

user ID

is_deleted
boolean

True if this object has been deleted.

created_at
string (date-time)

Creation time for this object.

Example
{
  "id": "adm_3merk33gt7ml3ltq5bg1",
  "organization_id": "org_3merk33gt1v9ypgfzrp1",
  "user_id": "usr_3merk33gt13y99aqtze1",
  "is_deleted": false,
  "created_at": "2018-03-13T16:56:51.766836837Z"
}

List admins

GET /admins
data
admin
has_next
boolean
cursor_next
string (cursor)
Response Example (200 OK)
{
  "data": [
    {
      "id": "adm_3merk33gt7ml3ltq5bg1",
      "organization_id": "org_3merk33gt1v9ypgfzrp1",
      "user_id": "usr_3merk33gt13y99aqtze1",
      "is_deleted": false,
      "created_at": "2018-03-13T16:56:51.766836837Z"
    }
  ],
  "has_next": true,
  "cursor_next": "i9vmCnOgONT2AjUMCn1K1N5cJg=="
}

Get admin

GET /admins/{admin_id}
admin_id
in path
string (admin_id)

admin ID

An instance of admin
Response Example (200 OK)
{
  "id": "adm_3merk33gt7ml3ltq5bg1",
  "organization_id": "org_3merk33gt1v9ypgfzrp1",
  "user_id": "usr_3merk33gt13y99aqtze1",
  "is_deleted": false,
  "created_at": "2018-03-13T16:56:51.766836837Z"
}

Hardware

hardware: object

id
string (hardware_id)

hardware ID

type
string controller, gateway, gateway_controller
route
object
akitls_public_key
string (binary)
broker_public_key
string (binary)
broker_certificate
string (binary)
wireguard_public_key
string (binary)
wireguard_ip_address
ip_address (ip_address)
hardware_version
string
firmware_version
number (int32)

Firmware version number

bootloader_version
number (int32)

Bootloader version number

bluetooth_address
mac_address (mac_address)
ethernet_address
mac_address (mac_address)
wifi_address
mac_address (mac_address)
is_finished
boolean
is_deleted
boolean

True if this object has been deleted.

created_at
string (date-time)

Creation time for this object.

Example
{
  "id": "hw_3merk33gt2a7grgmljhh",
  "type": "gateway_controller",
  "route": {
    "gateway_hardware_id": "hw_3merk33gt2a7grgmljhh",
    "path": "string (binary)"
  },
  "akitls_public_key": "string (binary)",
  "broker_public_key": "string (binary)",
  "broker_certificate": "string (binary)",
  "wireguard_public_key": "string (binary)",
  "wireguard_ip_address": "100.64.0.32",
  "hardware_version": "string",
  "firmware_version": 18,
  "bootloader_version": 3,
  "bluetooth_address": "4f:f2:33:91:c8:a1",
  "ethernet_address": "4f:f2:33:91:c8:a1",
  "wifi_address": "4f:f2:33:91:c8:a1",
  "is_finished": "boolean",
  "is_deleted": false,
  "created_at": "2018-03-13T16:56:51.766836837Z"
}

User

user: object

id
string (user_id)

user ID

email
string
type
string email, anonymous, google
first_name
string
last_name
string
is_email_verified
boolean
is_deleted
boolean

True if this object has been deleted.

created_at
string (date-time)

Creation time for this object.

Example
{
  "id": "usr_3merk33gt13y99aqtze1",
  "email": "string",
  "type": "email",
  "first_name": "string",
  "last_name": "string",
  "is_email_verified": "boolean",
  "is_deleted": false,
  "created_at": "2018-03-13T16:56:51.766836837Z"
}

user_session: object

id
string (user_session_id)

user_session ID

user_id
string (user_id)

user ID

device_type
string unknown, computer, tablet, phone, console, wearable, tv
user_agent
string
name
string
ip_address
ip_address (ip_address)
is_deleted
boolean

True if this object has been deleted.

created_at
string (date-time)

Creation time for this object.

Example
{
  "id": "sess_3merk33gt13y99aqtze1",
  "user_id": "usr_3merk33gt13y99aqtze1",
  "device_type": "phone",
  "user_agent": "string",
  "name": "string",
  "ip_address": "100.64.0.32",
  "is_deleted": false,
  "created_at": "2018-03-13T16:56:51.766836837Z"
}