Skip to content

POST /api/v3/analytics/lightning-devices/{lcuid}/heartbeat

Summary

POST /analytics/lightning-devices/{lcuid}/heartbeat

Description

Send in a heartbeat signal from the player to let us know it's still alive

Tags: analytics

Parameters

Header Parameters

Name Type Required Description Example
Authorization string ✓ Yes Bearer {AuthToken}
Content-Type string ✓ Yes application/json
Accept string ✓ Yes application/json
AppIdV3 string ✓ Yes LCUID-LAP-********-****-****-****-************

Request Body

Required: Yes

Content Type: application/json

Schema

Type: object

Required fields: lightning_version

Properties:

  • lightning_version (string) (required): The version of the lightning device.
  • device_info (array): of various data about the state of the device
  • Array items: string

Responses

Response: 200

Description: Response / Instruction

Content Type: application/json

Schema

Type: object

Properties:

  • success (boolean): Indicates if the request was successful
  • lightning_device_remote_instruction (object) Type: object

Properties:

  • instruction (string): The instruction to be executed
  • parameters (array): The parameters for the instruction
  • run_at (string): The time the instruction should be run (if set)
  • status (integer): The status of the instruction 0 = Pending, 1 = Sent, 2 = Acknowledged
  • lcuid (string): The unique identifier for the instruction
  • created_at (string): The time the instruction was created
  • updated_at (string): The time the instruction was last updated
Example Response
{
    "success": true,
    "lightning_device_remote_instruction": {
        "instruction": "reload",
        "parameters": [],
        "run_at": null,
        "status": 1,
        "lcuid": "LCUID-LDRI-262ca932-dda6-4233-8c4f-a497481388b3",
        "created_at": "2026-01-07T00:15:19.000000Z",
        "updated_at": "2026-01-07T00:15:19.000000Z"
    }
}

Example Implementations

Bash (cURL)

curl --request POST \
  --url "https://api.lucit.app/api/v3/analytics/lightning-devices/{lcuid}/heartbeat" \
  --header "Authorization: Bearer {AuthToken}" \
  --header "Content-Type: application/json" \
  --header "Accept: application/json" \
  --header "AppIdV3: LCUID-LAP-********-****-****-****-************"

JavaScript (Fetch API)

const url = "https://api.lucit.app/api/v3/analytics/lightning-devices/{lcuid}/heartbeat";

const headers = {
  "Authorization": "Bearer {AuthToken}",
  "Content-Type": "application/json",
  "Accept": "application/json",
  "AppIdV3": "LCUID-LAP-********-****-****-****-************"
};

fetch(url, {
  method: "POST",
  headers: headers
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));

PHP (Guzzle)

<?php

require_once 'vendor/autoload.php';

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.lucit.app/api/v3/analytics/lightning-devices/{lcuid}/heartbeat', [
  'headers' => [
    'Authorization' => 'Bearer {AuthToken}',
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'AppIdV3' => 'LCUID-LAP-********-****-****-****-************',
  ]
]);

$body = $response->getBody();
$data = json_decode($body, true);
print_r($data);

Python (Requests)

import requests
import json

url = "https://api.lucit.app/api/v3/analytics/lightning-devices/{lcuid}/heartbeat"

headers = {
  "Authorization": "Bearer {AuthToken}",
  "Content-Type": "application/json",
  "Accept": "application/json",
  "AppIdV3": "LCUID-LAP-********-****-****-****-************"
}

response = requests.post(url, headers=headers)
print(response.json())

← Back to analytics index | Back to main index