curl --request GET \
--url https://guidinghand.ai/v1/conversations \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://guidinghand.ai/v1/conversations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://guidinghand.ai/v1/conversations"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"object": "conversation",
"id": "conv_…",
"agent_id": "<string>",
"agent_version": 123,
"title": "<string>",
"metadata": {},
"variables": {},
"session_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"last_item_at": "2023-11-07T05:31:56Z",
"status": "open",
"ended_at": "2023-11-07T05:31:56Z",
"end_reason": "<string>",
"price": {
"total_cents": 123,
"replies": {
"count": 123,
"cents": 123,
"input_tokens": 123,
"output_tokens": 123
},
"tasks": {
"count": 123,
"cents": 123
},
"phone": {
"seconds": 123,
"cents": 123
}
}
}
],
"has_more": true,
"next_cursor": "<string>",
"total_count": 123
}List conversations
Newest activity first. q searches titles (the first message). waiting=approval lists only the conversations with a request still open (an undecided approval or an unanswered question), the ones waiting for someone. A task’s own conversation (where the questions and approvals of a task you started are decided: metadata.task_id names it, and its title is “Task: ” and the start of its goal) is listed only while something in it waits for someone; fetch it by its id (the task’s conversation_id) any time.
curl --request GET \
--url https://guidinghand.ai/v1/conversations \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://guidinghand.ai/v1/conversations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://guidinghand.ai/v1/conversations"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"object": "conversation",
"id": "conv_…",
"agent_id": "<string>",
"agent_version": 123,
"title": "<string>",
"metadata": {},
"variables": {},
"session_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"last_item_at": "2023-11-07T05:31:56Z",
"status": "open",
"ended_at": "2023-11-07T05:31:56Z",
"end_reason": "<string>",
"price": {
"total_cents": 123,
"replies": {
"count": 123,
"cents": 123,
"input_tokens": 123,
"output_tokens": 123
},
"tasks": {
"count": 123,
"cents": 123
},
"phone": {
"seconds": 123,
"cents": 123
}
}
}
],
"has_more": true,
"next_cursor": "<string>",
"total_count": 123
}Authorizations
An org API key (gh_live_…) from Settings → API keys in the console.
Query Parameters
100approval: only conversations with an open approval or question.
approval phone: only phone calls; chat: everything but phone calls.
phone, chat Only conversations with this agent.
Only conversations the AI ontology says were about this object (an object type's or a kind's id, device) or property (device.serial_number). Conversations are tagged a few minutes after they go quiet.
1 <= x <= 100next_cursor from the previous page.
total_count adds how many match across every page.
"total_count"