Skip to main content
POST
/
session
/
start
Start a new session (deprecated)
curl --request POST \
  --url https://api.honeyhive.ai/session/start \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "session": {
    "session_id": "<string>",
    "session_name": "<string>",
    "event_name": "<string>",
    "source": "<string>",
    "start_time": 123,
    "end_time": 123,
    "duration": 123,
    "config": {},
    "inputs": {},
    "outputs": {},
    "metadata": {},
    "user_properties": {},
    "children_ids": [
      "<string>"
    ]
  }
}
'
import requests

url = "https://api.honeyhive.ai/session/start"

payload = { "session": {
"session_id": "<string>",
"session_name": "<string>",
"event_name": "<string>",
"source": "<string>",
"start_time": 123,
"end_time": 123,
"duration": 123,
"config": {},
"inputs": {},
"outputs": {},
"metadata": {},
"user_properties": {},
"children_ids": ["<string>"]
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

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

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
session: {
session_id: '<string>',
session_name: '<string>',
event_name: '<string>',
source: '<string>',
start_time: 123,
end_time: 123,
duration: 123,
config: {},
inputs: {},
outputs: {},
metadata: {},
user_properties: {},
children_ids: ['<string>']
}
})
};

fetch('https://api.honeyhive.ai/session/start', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.honeyhive.ai/session/start",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'session' => [
'session_id' => '<string>',
'session_name' => '<string>',
'event_name' => '<string>',
'source' => '<string>',
'start_time' => 123,
'end_time' => 123,
'duration' => 123,
'config' => [

],
'inputs' => [

],
'outputs' => [

],
'metadata' => [

],
'user_properties' => [

],
'children_ids' => [
'<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.honeyhive.ai/session/start"

payload := strings.NewReader("{\n \"session\": {\n \"session_id\": \"<string>\",\n \"session_name\": \"<string>\",\n \"event_name\": \"<string>\",\n \"source\": \"<string>\",\n \"start_time\": 123,\n \"end_time\": 123,\n \"duration\": 123,\n \"config\": {},\n \"inputs\": {},\n \"outputs\": {},\n \"metadata\": {},\n \"user_properties\": {},\n \"children_ids\": [\n \"<string>\"\n ]\n }\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.honeyhive.ai/session/start")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"session\": {\n \"session_id\": \"<string>\",\n \"session_name\": \"<string>\",\n \"event_name\": \"<string>\",\n \"source\": \"<string>\",\n \"start_time\": 123,\n \"end_time\": 123,\n \"duration\": 123,\n \"config\": {},\n \"inputs\": {},\n \"outputs\": {},\n \"metadata\": {},\n \"user_properties\": {},\n \"children_ids\": [\n \"<string>\"\n ]\n }\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.honeyhive.ai/session/start")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"session\": {\n \"session_id\": \"<string>\",\n \"session_name\": \"<string>\",\n \"event_name\": \"<string>\",\n \"source\": \"<string>\",\n \"start_time\": 123,\n \"end_time\": 123,\n \"duration\": 123,\n \"config\": {},\n \"inputs\": {},\n \"outputs\": {},\n \"metadata\": {},\n \"user_properties\": {},\n \"children_ids\": [\n \"<string>\"\n ]\n }\n}"

response = http.request(request)
puts response.read_body
{
  "event_id": "<string>",
  "session_id": "<string>",
  "org_id": "<string>",
  "workspace_id": "<string>",
  "project_id": "<string>",
  "parent_id": "<string>",
  "children_ids": [
    "<string>"
  ],
  "event_type": "<string>",
  "event_name": "<string>",
  "config": "<unknown>",
  "inputs": "<unknown>",
  "outputs": "<unknown>",
  "error": "<string>",
  "source": "<string>",
  "duration": 123,
  "user_properties": "<unknown>",
  "metrics": "<unknown>",
  "feedback": "<unknown>",
  "metadata": "<unknown>",
  "start_time": 123,
  "end_time": 123
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json

Request body for POST /session/start (deprecated — use POST /v1/sessions)

session
object
required

Response

200 - application/json

Session successfully started

Full session event object returned after starting a new session

event_id
string
required
session_id
string
required
org_id
string
required
workspace_id
string
required
project_id
string
required
parent_id
string | null
children_ids
string[]
event_type
string | null
event_name
string | null
config
any
inputs
any
outputs
any
error
string | null
source
string | null
duration
number | null
user_properties
any
metrics
any
feedback
any
metadata
any
start_time
number | null
end_time
number | null
{key}
any