API : ZeroTier : List members
Introduction
This API will return a list of the members of a network.
Request
| URL | https://api.telecomx.dk/zerotier/network/NETWORK_ID/member |
| Method | GET |
| Access level | VIEWER, MAMAGER or OWNER that belongs to the customer
RESELLER, RESELLER_ADMIN for the customer or ADMIN |
| Params | NETWORK_ID | Id of the network |
| Query | offset | Index of first item to return, default 0. |
| limit | Number of items to return at most, default 100. |
| filter | Search for member id, member name, employeeId, employeeName, ipAssignments and path ip addresses. |
| full | True to return full settings for each member, otherwise only returns id and name. |
| status | True to return connection status for each member. |
Query example
https://api.telecomx.dk/zerotier/network/46574625456898895/member
https://api.telecomx.dk/zerotier/network/46574625456898895/member?full=true&status=true
Response (normal)
Properties
| Field | Type | Description |
| offset | Number | Index of first item returned. |
| limit | Number | Number of items returned at most. |
| total | Number | Total number of items available. |
| members | Array | List of members. |
| members[].id | String | Id of the member. |
| members[].name | String | Name of the member. |
| members[].employeeId | Id | Id of employee member belongs to, if any. |
| members[].employeeName | String | Name of employee, if any. |
| members[].employeePicture | Id | Id if employee picture, if any. |
Example
{
offset: 0,
limit: 100,
total: 10,
members: [
{
id: '1354878985',
name: 'Johns macbook pro',
employeeId: '123457890123457890ABCD',
employeeName: 'John Deer',
employeePicture: '12345678901234567890AAAA'
},
{
...
}
]
}
Response (full=true)
Like normal response, but where each member contains the following:
Properties
| Field | Type | Description |
| id | String | Id of the member |
| name | String | Name of the member |
| employeeId | Id | Id of employee member belongs to, if any. |
| employeeName | String | Name of employee, if any. |
| employeePicture | Id | Id if employee picture, if any. |
| activeBridge | Boolean | True if interface is in bridge mode. |
| authorized | Boolean | True if member is authorized to access the network. |
| creationTime | Date | When the member was added. |
| ipAssignments | Array | List of IP addresses that is assigned to the member. |
| lastAuthorizedTime | Date | When the member was last authorized. |
| lastDeauthorizedTime | Date | When the member was last deauthorized. |
| noAutoAssignIps | Boolean | True if IP address should not be auto-assigned. |
Example
{
id: '5647898745',
name: 'Johns macbookpro',
employeeId: '12345678901234567890ABCD',
employeeName: 'John Deer',
employeePicture: '12345678901234567890AAAA',
activeBridge: false,
authorized: true,
creationTime: '2022-01-01T00:00:00:00.000Z',
ipAssignments: [ '192.168.1.23' ],
lastAuthorizedTime: '2022-01-01T00:00:00.000Z',
lastDeauthorizedTime: null,
noAutoAssignIps: false
}
Response (full=true, status=true)
Like normal response, but where each network contains the following:
Properties
| Field | Type | Description |
| id | String | Id of the member |
| name | String | Name of the member |
| employeeId | Id | Id of employee member belongs to, if any. |
| employeeName | String | Name of employee, if any. |
| employeePicture | Id | Id if employee picture, if any. |
| activeBridge | Boolean | True if interface is in bridge mode. |
| authorized | Boolean | True if member is authorized to access the network. |
| creationTime | Date | When the member was added. |
| ipAssignments | Array | List of IP addresses that is assigned to the member. |
| lastAuthorizedTime | Date | When the member was last authorized. |
| lastDeauthorizedTime | Date | When the member was last deauthorized. |
| noAutoAssignIps | Boolean | True if IP address should not be auto-assigned. |
| latency | Number | Latency in ms. |
| version | String | Client version number |
| paths | Array | List of active connections |
| paths[].active | Boolean | |
| paths[].ipAddress | String | IP address. |
| paths[].port | Number | Port number. |
| paths[].lastReceive | Date | When the member last received data. |
| paths[].lastSend | Date | when the member last sent data. |
Example
{
id: '5647898745',
name: 'Johns macbookpro',
employeeId: '12345678901234567890ABCD',
employeeName: 'John Deer',
employeePicture: '12345678901234567890AAAA',
activeBridge: false,
authorized: true,
creationTime: '2022-01-01T00:00:00:00.000Z',
ipAssignments: [ '192.168.1.23' ],
lastAuthorizedTime: '2022-01-01T00:00:00.000Z',
lastDeauthorizedTime: null,
noAutoAssignIps: false,
latency: 12,
version: '1.10.0',
paths: [
{
active: true,
ipAddress: '1.2.3.4',
port: 34523,
lastReceive: '2022-01-01T00:00:00.000Z',
lastSend: '2022-01-01T00:00:00.000Z'
},
{
...
}
]
}
Errors
| Error code | Message | Description |
| 404 | id | Member not found |
| 403 | access_denied | Access denied |
| 500 | internal_error | <Unspecified> |