### Retrieve User Events SDK Examples Source: https://docs.emnify.com/developers/api/user-management/user-event-page-per-page-sort-by-user-id-and-q-get Examples demonstrating how to perform a GET request to retrieve user events using various programming languages. ```python import requests url = "https://cdn.emnify.net/api/v1/user/my/event" headers = {"Authorization": "Bearer "} response = requests.get(url, headers=headers) print(response.json()) ``` ```javascript const url = 'https://cdn.emnify.net/api/v1/user/my/event'; const options = {method: 'GET', headers: {Authorization: 'Bearer '}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://cdn.emnify.net/api/v1/user/my/event" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "Bearer ") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://cdn.emnify.net/api/v1/user/my/event") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = 'Bearer ' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://cdn.emnify.net/api/v1/user/my/event") .header("Authorization", "Bearer ") .asString(); ``` ```php request('GET', 'https://cdn.emnify.net/api/v1/user/my/event', [ 'headers' => [ 'Authorization' => 'Bearer ', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://cdn.emnify.net/api/v1/user/my/event"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer "); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Authorization": "Bearer "] let request = NSMutableURLRequest(url: NSURL(string: "https://cdn.emnify.net/api/v1/user/my/event")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` -------------------------------- ### Filter Workspace Daily Stats by Start Date Source: https://docs.emnify.com/developers/api/workspaces/get-workspace-daily-stats Examples of how to retrieve daily workspace statistics filtered by a specific start date across multiple programming languages. ```json [ { "days": [ { "data_volume": { "cost": 5, "rx": 60, "total": 100, "tx": 40 }, "date": "2023-03-07T00:00:00.000Z", "sms_volume": { "cost": 0.5, "rx": 5, "total": 10, "tx": 5 } } ], "id": 123, "total": { "data_volume": { "cost": 5, "rx": 60, "total": 100, "tx": 40 }, "sms_volume": { "cost": 0.5, "rx": 5, "total": 10, "tx": 5 } } } ] ``` ```python import requests url = "https://cdn.emnify.net/api/v2/workspace/stats/daily" querystring = {"start_date":"2023-03-01T00:00:00.000Z"} headers = {"Authorization": "Bearer "} response = requests.get(url, headers=headers, params=querystring) print(response.json()) ``` ```javascript const url = 'https://cdn.emnify.net/api/v2/workspace/stats/daily?start_date=2023-03-01T00%3A00%3A00.000Z'; const options = {method: 'GET', headers: {Authorization: 'Bearer '}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://cdn.emnify.net/api/v2/workspace/stats/daily?start_date=2023-03-01T00%3A00%3A00.000Z" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "Bearer ") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://cdn.emnify.net/api/v2/workspace/stats/daily?start_date=2023-03-01T00%3A00%3A00.000Z") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = 'Bearer ' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://cdn.emnify.net/api/v2/workspace/stats/daily?start_date=2023-03-01T00%3A00%3A00.000Z") .header("Authorization", "Bearer ") .asString(); ``` ```php request('GET', 'https://cdn.emnify.net/api/v2/workspace/stats/daily?start_date=2023-03-01T00%3A00%3A00.000Z', [ 'headers' => [ 'Authorization' => 'Bearer ', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://cdn.emnify.net/api/v2/workspace/stats/daily?start_date=2023-03-01T00%3A00%3A00.000Z"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer "); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Authorization": "Bearer "] let request = NSMutableURLRequest(url: NSURL(string: "https://cdn.emnify.net/api/v2/workspace/stats/daily?start_date=2023-03-01T00%3A00%3A00.000Z")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` -------------------------------- ### GET /api/v1/user/my/event Source: https://docs.emnify.com/developers/api/user-management/user-event-page-per-page-sort-by-user-id-and-q-get Retrieves a list of user events. The example demonstrates filtering for 'Create PDP Context' events using the query parameter q=type:3. ```APIDOC ## GET /api/v1/user/my/event ### Description Retrieves a list of events for the authenticated user. Supports filtering via the 'q' query parameter. ### Method GET ### Endpoint https://cdn.emnify.net/api/v1/user/my/event ### Parameters #### Query Parameters - **q** (string) - Optional - Filter expression (e.g., "type:3") ### Response #### Success Response (200) - **id** (integer) - Event ID - **alert** (boolean) - Alert status - **description** (string) - Event description - **timestamp** (string) - Event timestamp - **event_type** (object) - Event type details - **event_source** (object) - Event source details - **event_severity** (object) - Event severity details - **organisation** (object) - Organisation details - **user** (object) - User details #### Response Example [ { "id": 22, "alert": false, "description": "Create PDP Context for endpoint", "timestamp": "2020-07-22T09:00:00.000Z", "event_type": { "description": "Create PDP Context", "id": 3 }, "event_source": { "description": "Network", "id": 0 }, "event_severity": { "description": "Info", "id": 0 }, "organisation": { "id": 123, "name": "Seeley & Co." }, "user": { "id": 42, "name": "Ford Prefect", "username": "ford.prefect@hitchhikerguide.net" } } ] ``` -------------------------------- ### Filter by tag and organization SDK implementations Source: https://docs.emnify.com/developers/api/user-management/user-event-page-per-page-sort-by-user-id-and-q-get Code examples for performing a GET request to filter events by tag and organization across multiple programming languages. ```python import requests url = "https://cdn.emnify.net/api/v1/user/my/event" querystring = {"q":"tags:tag1,organisation:123"} headers = {"Authorization": "Bearer "} response = requests.get(url, headers=headers, params=querystring) print(response.json()) ``` ```javascript const url = 'https://cdn.emnify.net/api/v1/user/my/event?q=tags%3Atag1%2Corganisation%3A123'; const options = {method: 'GET', headers: {Authorization: 'Bearer '}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://cdn.emnify.net/api/v1/user/my/event?q=tags%3Atag1%2Corganisation%3A123" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "Bearer ") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://cdn.emnify.net/api/v1/user/my/event?q=tags%3Atag1%2Corganisation%3A123") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = 'Bearer ' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://cdn.emnify.net/api/v1/user/my/event?q=tags%3Atag1%2Corganisation%3A123") .header("Authorization", "Bearer ") .asString(); ``` ```php request('GET', 'https://cdn.emnify.net/api/v1/user/my/event?q=tags%3Atag1%2Corganisation%3A123', [ 'headers' => [ 'Authorization' => 'Bearer ', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://cdn.emnify.net/api/v1/user/my/event?q=tags%3Atag1%2Corganisation%3A123"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer "); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Authorization": "Bearer "] let request = NSMutableURLRequest(url: NSURL(string: "https://cdn.emnify.net/api/v1/user/my/event?q=tags%3Atag1%2Corganisation%3A123")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` -------------------------------- ### Filter Create PDP Context events SDK examples Source: https://docs.emnify.com/developers/api/user-management/user-event-page-per-page-sort-by-user-id-and-q-get Implementation examples for filtering events using the query parameter q=type:3 across various languages. ```python import requests url = "https://cdn.emnify.net/api/v1/user/my/event" querystring = {"q":"type:3"} headers = {"Authorization": "Bearer "} response = requests.get(url, headers=headers, params=querystring) print(response.json()) ``` ```javascript const url = 'https://cdn.emnify.net/api/v1/user/my/event?q=type%3A3'; const options = {method: 'GET', headers: {Authorization: 'Bearer '}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://cdn.emnify.net/api/v1/user/my/event?q=type%3A3" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "Bearer ") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://cdn.emnify.net/api/v1/user/my/event?q=type%3A3") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = 'Bearer ' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://cdn.emnify.net/api/v1/user/my/event?q=type%3A3") .header("Authorization", "Bearer ") .asString(); ``` ```php request('GET', 'https://cdn.emnify.net/api/v1/user/my/event?q=type%3A3', [ 'headers' => [ 'Authorization' => 'Bearer ', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://cdn.emnify.net/api/v1/user/my/event?q=type%3A3"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer "); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Authorization": "Bearer "] let request = NSMutableURLRequest(url: NSURL(string: "https://cdn.emnify.net/api/v1/user/my/event?q=type%3A3")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` -------------------------------- ### Filter User Events by Time Range and Type Source: https://docs.emnify.com/developers/api/user-management/user-event-page-per-page-sort-by-user-id-and-q-get Examples of how to perform a GET request to filter user events using various programming languages and SDKs. ```python import requests url = "https://cdn.emnify.net/api/v1/user/my/event" querystring = {"q":"type:3,from:2020-07-20T08:00:00Z,until:2020-07-21T08:00:00Z"} headers = {"Authorization": "Bearer "} response = requests.get(url, headers=headers, params=querystring) print(response.json()) ``` ```javascript const url = 'https://cdn.emnify.net/api/v1/user/my/event?q=type%3A3%2Cfrom%3A2020-07-20T08%3A00%3A00Z%2Cuntil%3A2020-07-21T08%3A00%3A00Z'; const options = {method: 'GET', headers: {Authorization: 'Bearer '}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://cdn.emnify.net/api/v1/user/my/event?q=type%3A3%2Cfrom%3A2020-07-20T08%3A00%3A00Z%2Cuntil%3A2020-07-21T08%3A00%3A00Z" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "Bearer ") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://cdn.emnify.net/api/v1/user/my/event?q=type%3A3%2Cfrom%3A2020-07-20T08%3A00%3A00Z%2Cuntil%3A2020-07-21T08%3A00%3A00Z") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = 'Bearer ' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://cdn.emnify.net/api/v1/user/my/event?q=type%3A3%2Cfrom%3A2020-07-20T08%3A00%3A00Z%2Cuntil%3A2020-07-21T08%3A00%3A00Z") .header("Authorization", "Bearer ") .asString(); ``` ```php request('GET', 'https://cdn.emnify.net/api/v1/user/my/event?q=type%3A3%2Cfrom%3A2020-07-20T08%3A00%3A00Z%2Cuntil%3A2020-07-21T08%3A00%3A00Z', [ 'headers' => [ 'Authorization' => 'Bearer ', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://cdn.emnify.net/api/v1/user/my/event?q=type%3A3%2Cfrom%3A2020-07-20T08%3A00%3A00Z%2Cuntil%3A2020-07-21T08%3A00%3A00Z"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer "); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Authorization": "Bearer "] let request = NSMutableURLRequest(url: NSURL(string: "https://cdn.emnify.net/api/v1/user/my/event?q=type%3A3%2Cfrom%3A2020-07-20T08%3A00%3A00Z%2Cuntil%3A2020-07-21T08%3A00%3A00Z")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` -------------------------------- ### Filter and sort combined SDK examples Source: https://docs.emnify.com/developers/api/user-management/user-event-page-per-page-sort-by-user-id-and-q-get Implementation examples for filtering and sorting user events across various programming languages. ```python import requests url = "https://cdn.emnify.net/api/v1/user/my/event" querystring = {"q":"type:3,from:2020-07-20T08:00:00Z,until:2020-07-21T08:00:00Z","sort":"-timestamp,id"} headers = {"Authorization": "Bearer "} response = requests.get(url, headers=headers, params=querystring) print(response.json()) ``` ```javascript const url = 'https://cdn.emnify.net/api/v1/user/my/event?q=type%3A3%2Cfrom%3A2020-07-20T08%3A00%3A00Z%2Cuntil%3A2020-07-21T08%3A00%3A00Z&sort=-timestamp%2Cid'; const options = {method: 'GET', headers: {Authorization: 'Bearer '}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://cdn.emnify.net/api/v1/user/my/event?q=type%3A3%2Cfrom%3A2020-07-20T08%3A00%3A00Z%2Cuntil%3A2020-07-21T08%3A00%3A00Z&sort=-timestamp%2Cid" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "Bearer ") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://cdn.emnify.net/api/v1/user/my/event?q=type%3A3%2Cfrom%3A2020-07-20T08%3A00%3A00Z%2Cuntil%3A2020-07-21T08%3A00%3A00Z&sort=-timestamp%2Cid") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = 'Bearer ' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://cdn.emnify.net/api/v1/user/my/event?q=type%3A3%2Cfrom%3A2020-07-20T08%3A00%3A00Z%2Cuntil%3A2020-07-21T08%3A00%3A00Z&sort=-timestamp%2Cid") .header("Authorization", "Bearer ") .asString(); ``` ```php request('GET', 'https://cdn.emnify.net/api/v1/user/my/event?q=type%3A3%2Cfrom%3A2020-07-20T08%3A00%3A00Z%2Cuntil%3A2020-07-21T08%3A00%3A00Z&sort=-timestamp%2Cid', [ 'headers' => [ 'Authorization' => 'Bearer ', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://cdn.emnify.net/api/v1/user/my/event?q=type%3A3%2Cfrom%3A2020-07-20T08%3A00%3A00Z%2Cuntil%3A2020-07-21T08%3A00%3A00Z&sort=-timestamp%2Cid"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer "); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Authorization": "Bearer "] let request = NSMutableURLRequest(url: NSURL(string: "https://cdn.emnify.net/api/v1/user/my/event?q=type%3A3%2Cfrom%3A2020-07-20T08%3A00%3A00Z%2Cuntil%3A2020-07-21T08%3A00%3A00Z&sort=-timestamp%2Cid")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` -------------------------------- ### User Event Response Example Source: https://docs.emnify.com/developers/api/user-management/user-event-page-per-page-sort-by-user-id-and-q-get Example JSON response structure returned when querying user events. ```json [ { "id": 15, "alert": true, "description": "User login successful", "timestamp": "2020-07-21T14:30:00.000Z", "event_type": { "description": "User authentication successful", "id": 5 }, "event_source": { "description": "API", "id": 2 }, "event_severity": { "description": "Info", "id": 0 }, "organisation": { "id": 123, "name": "Seeley & Co." }, "user": { "id": 42, "name": "Ford Prefect", "username": "ford.prefect@hitchhikerguide.net" } }, { "id": 12, "alert": false, "description": "User logged out", "timestamp": "2020-07-20T09:15:00.000Z", "event_type": { "description": "User logout", "id": 7 }, "event_source": { "description": "API", "id": 2 }, "event_severity": { "description": "Info", "id": 0 }, "organisation": { "id": 123, "name": "Seeley & Co." }, "user": { "id": 42, "name": "Ford Prefect", "username": "ford.prefect@hitchhikerguide.net" } } ] ``` -------------------------------- ### Sort User Events by Timestamp and ID SDK Examples Source: https://docs.emnify.com/developers/api/user-management/user-event-page-per-page-sort-by-user-id-and-q-get Implementation examples for sorting user events by timestamp and ID across multiple programming languages. ```python import requests url = "https://cdn.emnify.net/api/v1/user/my/event" querystring = {"sort":"-timestamp,id"} headers = {"Authorization": "Bearer "} response = requests.get(url, headers=headers, params=querystring) print(response.json()) ``` ```javascript const url = 'https://cdn.emnify.net/api/v1/user/my/event?sort=-timestamp%2Cid'; const options = {method: 'GET', headers: {Authorization: 'Bearer '}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://cdn.emnify.net/api/v1/user/my/event?sort=-timestamp%2Cid" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "Bearer ") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://cdn.emnify.net/api/v1/user/my/event?sort=-timestamp%2Cid") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = 'Bearer ' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://cdn.emnify.net/api/v1/user/my/event?sort=-timestamp%2Cid") .header("Authorization", "Bearer ") .asString(); ``` ```php request('GET', 'https://cdn.emnify.net/api/v1/user/my/event?sort=-timestamp%2Cid', [ 'headers' => [ 'Authorization' => 'Bearer ', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://cdn.emnify.net/api/v1/user/my/event?sort=-timestamp%2Cid"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer "); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Authorization": "Bearer "] let request = NSMutableURLRequest(url: NSURL(string: "https://cdn.emnify.net/api/v1/user/my/event?sort=-timestamp%2Cid")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` -------------------------------- ### GET /workspace/stats/daily Source: https://docs.emnify.com/developers/api/workspaces/get-workspace-daily-stats Retrieves daily usage statistics for all workspaces. ```APIDOC ## GET /workspace/stats/daily ### Description Retrieves daily usage statistics for all workspaces, including data and SMS volume metrics. ### Method GET ### Endpoint https://cdn.emnify.net/api/v2/workspace/stats/daily ### Response #### Success Response (200) - **id** (integer) - The workspace ID - **days** (array) - List of daily statistics - **total** (object) - Aggregated totals for data and SMS volume #### Response Example [ { "days": [ { "data_volume": { "cost": 0, "currency": null, "rx": 0, "total": 0, "traffic_type": { "description": "Data", "id": 5, "unit": "MB" }, "tx": 0 }, "date": "2024-03-07T00:00:00.000Z", "sms_volume": { "cost": 0, "currency": null, "rx": 0, "total": 0, "traffic_type": { "description": "Sms", "id": 6, "unit": "SMS" }, "tx": 0 } } ], "id": 123, "total": { "data_volume": { "cost": 0, "rx": 0, "total": 0, "tx": 0 }, "sms_volume": { "cost": 0, "rx": 0, "total": 0, "tx": 0 } } } ] ``` -------------------------------- ### Retrieve Workspace Daily Stats Source: https://docs.emnify.com/developers/api/workspaces/get-workspace-daily-stats Implementation examples for fetching daily workspace statistics across multiple programming languages. ```python import requests url = "https://cdn.emnify.net/api/v2/workspace/stats/daily" headers = {"Authorization": "Bearer "} response = requests.get(url, headers=headers) print(response.json()) ``` ```javascript const url = 'https://cdn.emnify.net/api/v2/workspace/stats/daily'; const options = {method: 'GET', headers: {Authorization: 'Bearer '}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://cdn.emnify.net/api/v2/workspace/stats/daily" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "Bearer ") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://cdn.emnify.net/api/v2/workspace/stats/daily") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = 'Bearer ' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://cdn.emnify.net/api/v2/workspace/stats/daily") .header("Authorization", "Bearer ") .asString(); ``` ```php request('GET', 'https://cdn.emnify.net/api/v2/workspace/stats/daily', [ 'headers' => [ 'Authorization' => 'Bearer ', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://cdn.emnify.net/api/v2/workspace/stats/daily"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer "); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Authorization": "Bearer "] let request = NSMutableURLRequest(url: NSURL(string: "https://cdn.emnify.net/api/v2/workspace/stats/daily")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` -------------------------------- ### GET /user/my/event Source: https://docs.emnify.com/developers/api/user-management/user-event-page-per-page-sort-by-user-id-and-q-get Retrieves a list of user events. ```APIDOC ## GET /user/my/event ### Description Retrieves a list of events associated with the authenticated user. ### Method GET ### Endpoint https://cdn.emnify.net/api/v1/user/my/event ### Response #### Success Response (200) - **id** (integer) - Event ID - **alert** (boolean) - Alert status - **description** (string) - Event description - **timestamp** (string) - Event timestamp - **event_type** (object) - Event type details - **event_source** (object) - Event source details - **event_severity** (object) - Event severity details - **organisation** (object) - Organisation details - **user** (object) - User details #### Response Example [ { "id": 11, "alert": false, "description": "Failed authentication request from 'ford.prefect@hitchhikerguide.net', Reason: invalid password from IP 1.2.3.4", "timestamp": "2017-05-08T10:56:25.000Z", "event_type": { "description": "User authentication failed", "id": 6 }, "event_source": { "description": "API", "id": 2 }, "event_severity": { "description": "Warn", "id": 1 }, "organisation": { "id": 123, "name": "Seeley & Co." }, "user": { "id": 42, "name": "Ford Prefect", "username": "ford.prefect@hitchhikerguide.net" } } ] ``` -------------------------------- ### GET /api/v2/workspace/stats/daily Source: https://docs.emnify.com/developers/api/workspaces/get-workspace-daily-stats Retrieves daily workspace statistics filtered by the start_date query parameter. ```APIDOC ## GET /api/v2/workspace/stats/daily ### Description Retrieves daily usage statistics for a workspace, including data and SMS volume, starting from the provided date. ### Method GET ### Endpoint https://cdn.emnify.net/api/v2/workspace/stats/daily ### Parameters #### Query Parameters - **start_date** (string) - Optional - The start date for the statistics in ISO 8601 format (e.g., 2023-03-01T00:00:00.000Z). ### Response #### Success Response (200) - **id** (integer) - Workspace ID - **days** (array) - List of daily statistics - **total** (object) - Aggregated totals for the period #### Response Example [ { "days": [ { "data_volume": { "cost": 5, "rx": 60, "total": 100, "tx": 40 }, "date": "2023-03-07T00:00:00.000Z", "sms_volume": { "cost": 0.5, "rx": 5, "total": 10, "tx": 5 } } ], "id": 123, "total": { "data_volume": { "cost": 5, "rx": 60, "total": 100, "tx": 40 }, "sms_volume": { "cost": 0.5, "rx": 5, "total": 10, "tx": 5 } } } ] ``` -------------------------------- ### GET https://cdn.emnify.net/api/v2/workspace/stats/daily Source: https://docs.emnify.com/developers/api/workspaces/get-workspace-daily-stats Retrieve the daily stats for your Workspaces. Historical data is available for up to 13 months. ```APIDOC ## GET https://cdn.emnify.net/api/v2/workspace/stats/daily ### Description Retrieve the daily stats for your Workspaces. Historical data is available for up to 13 months. ### Method GET ### Endpoint https://cdn.emnify.net/api/v2/workspace/stats/daily ### Parameters #### Query Parameters - **start_date** (string) - Optional - Filters by start date, provided in a YYYY-MM-DD format. If you don't define an end date, the response will include 6 months of data, beginning on the current date. - **end_date** (string) - Optional - Filters by end date, provided in a YYYY-MM-DD format. If you don't define a start date, the response will only return data from the month indicated in your end date. - **workspace_ids** (string) - Optional - Comma separated list of workspace IDs to filter the results for. If not provided, the response will include all Workspaces you have access to. ### Authentication - Authorization header (bearer token, required) — An auth_token should be provided to authenticate a session. ``` -------------------------------- ### Filter Create PDP Context events response Source: https://docs.emnify.com/developers/api/user-management/user-event-page-per-page-sort-by-user-id-and-q-get Example JSON response structure for a filtered event query. ```json [ { "id": 22, "alert": false, "description": "Create PDP Context for endpoint", "timestamp": "2020-07-22T09:00:00.000Z", "event_type": { "description": "Create PDP Context", "id": 3 }, "event_source": { "description": "Network", "id": 0 }, "event_severity": { "description": "Info", "id": 0 }, "organisation": { "id": 123, "name": "Seeley & Co." }, "user": { "id": 42, "name": "Ford Prefect", "username": "ford.prefect@hitchhikerguide.net" } } ] ```