Submit a user turn to a durable AI chat session (bearer token)
import requests
url = "https://platform.ankra.app/api/v1/chat/sessions/{session_id}/turns"
payload = { "request": {
"query": "<string>",
"addon_name": "<string>",
"chart_name": "<string>",
"chart_version": "<string>",
"compliance_focus": {
"check_id": "<string>",
"benchmark_id": "<string>"
},
"conversation_history": [
{
"content": "<string>",
"role": "<string>",
"images": [
{
"data": "<string>",
"media_type": "<string>"
}
],
"tools_used": [
{
"tool_name": "<string>",
"finished_at": "<string>",
"parameters_preview": {},
"status": "<string>"
}
]
}
],
"conversation_id": "<string>",
"current_values": {},
"default_values": {},
"draft_id": "<string>",
"history_forked": True,
"idempotency_key": "<string>",
"images": [
{
"data": "<string>",
"media_type": "<string>"
}
],
"include_logs": True,
"interaction_mode": "agentic",
"is_config_page": False,
"max_log_lines": 50,
"model_mode": "<string>",
"namespace": "<string>",
"page_context": {
"current_url": "<string>",
"page_type": "<string>",
"active_tab": "<string>",
"filters": {},
"viewing_addon": {
"addon_name": "<string>",
"stack_name": "<string>"
},
"viewing_resource": {
"kind": "<string>",
"name": "<string>",
"api_version": "<string>",
"namespace": "<string>"
},
"viewing_stack": {
"stack_name": "<string>",
"draft_id": "<string>",
"is_draft": True,
"is_new_stack": True
},
"viewing_stack_profile": {
"draft_id": "<string>",
"is_new_profile": True,
"profile_id": "<string>"
}
},
"rag_context": {
"documents": [
{
"content": "<string>",
"document_id": "<string>",
"similarity_score": 123,
"metadata": {},
"source_id": "<string>"
}
],
"query": "",
"retrieval_time_ms": 0,
"total_tokens_estimated": 0
},
"regenerate_seed": "<string>",
"repository_name": "<string>",
"resource_name": "<string>",
"resource_type": "<string>",
"supersedes_plan_id": "<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({
request: {
query: '<string>',
addon_name: '<string>',
chart_name: '<string>',
chart_version: '<string>',
compliance_focus: {check_id: '<string>', benchmark_id: '<string>'},
conversation_history: [
{
content: '<string>',
role: '<string>',
images: [{data: '<string>', media_type: '<string>'}],
tools_used: [
{
tool_name: '<string>',
finished_at: '<string>',
parameters_preview: {},
status: '<string>'
}
]
}
],
conversation_id: '<string>',
current_values: {},
default_values: {},
draft_id: '<string>',
history_forked: true,
idempotency_key: '<string>',
images: [{data: '<string>', media_type: '<string>'}],
include_logs: true,
interaction_mode: 'agentic',
is_config_page: false,
max_log_lines: 50,
model_mode: '<string>',
namespace: '<string>',
page_context: {
current_url: '<string>',
page_type: '<string>',
active_tab: '<string>',
filters: {},
viewing_addon: {addon_name: '<string>', stack_name: '<string>'},
viewing_resource: {
kind: '<string>',
name: '<string>',
api_version: '<string>',
namespace: '<string>'
},
viewing_stack: {
stack_name: '<string>',
draft_id: '<string>',
is_draft: true,
is_new_stack: true
},
viewing_stack_profile: {draft_id: '<string>', is_new_profile: true, profile_id: '<string>'}
},
rag_context: {
documents: [
{
content: '<string>',
document_id: '<string>',
similarity_score: 123,
metadata: {},
source_id: '<string>'
}
],
query: '',
retrieval_time_ms: 0,
total_tokens_estimated: 0
},
regenerate_seed: '<string>',
repository_name: '<string>',
resource_name: '<string>',
resource_type: '<string>',
supersedes_plan_id: '<string>'
}
})
};
fetch('https://platform.ankra.app/api/v1/chat/sessions/{session_id}/turns', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://platform.ankra.app/api/v1/chat/sessions/{session_id}/turns \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"request": {
"query": "<string>",
"addon_name": "<string>",
"chart_name": "<string>",
"chart_version": "<string>",
"compliance_focus": {
"check_id": "<string>",
"benchmark_id": "<string>"
},
"conversation_history": [
{
"content": "<string>",
"role": "<string>",
"images": [
{
"data": "<string>",
"media_type": "<string>"
}
],
"tools_used": [
{
"tool_name": "<string>",
"finished_at": "<string>",
"parameters_preview": {},
"status": "<string>"
}
]
}
],
"conversation_id": "<string>",
"current_values": {},
"default_values": {},
"draft_id": "<string>",
"history_forked": true,
"idempotency_key": "<string>",
"images": [
{
"data": "<string>",
"media_type": "<string>"
}
],
"include_logs": true,
"interaction_mode": "agentic",
"is_config_page": false,
"max_log_lines": 50,
"model_mode": "<string>",
"namespace": "<string>",
"page_context": {
"current_url": "<string>",
"page_type": "<string>",
"active_tab": "<string>",
"filters": {},
"viewing_addon": {
"addon_name": "<string>",
"stack_name": "<string>"
},
"viewing_resource": {
"kind": "<string>",
"name": "<string>",
"api_version": "<string>",
"namespace": "<string>"
},
"viewing_stack": {
"stack_name": "<string>",
"draft_id": "<string>",
"is_draft": true,
"is_new_stack": true
},
"viewing_stack_profile": {
"draft_id": "<string>",
"is_new_profile": true,
"profile_id": "<string>"
}
},
"rag_context": {
"documents": [
{
"content": "<string>",
"document_id": "<string>",
"similarity_score": 123,
"metadata": {},
"source_id": "<string>"
}
],
"query": "",
"retrieval_time_ms": 0,
"total_tokens_estimated": 0
},
"regenerate_seed": "<string>",
"repository_name": "<string>",
"resource_name": "<string>",
"resource_type": "<string>",
"supersedes_plan_id": "<string>"
}
}
'{
"last_seq": 123,
"session_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}chat
Submit a user turn to a durable AI chat session (bearer token)
Scoped tokens are honoured end to end: the token’s scope allowlist is persisted with the turn (token_scopes on the user_turn event) and the session runner narrows its ai.execute lane gate and per-tool gate to it.
POST
/
api
/
v1
/
chat
/
sessions
/
{session_id}
/
turns
Submit a user turn to a durable AI chat session (bearer token)
import requests
url = "https://platform.ankra.app/api/v1/chat/sessions/{session_id}/turns"
payload = { "request": {
"query": "<string>",
"addon_name": "<string>",
"chart_name": "<string>",
"chart_version": "<string>",
"compliance_focus": {
"check_id": "<string>",
"benchmark_id": "<string>"
},
"conversation_history": [
{
"content": "<string>",
"role": "<string>",
"images": [
{
"data": "<string>",
"media_type": "<string>"
}
],
"tools_used": [
{
"tool_name": "<string>",
"finished_at": "<string>",
"parameters_preview": {},
"status": "<string>"
}
]
}
],
"conversation_id": "<string>",
"current_values": {},
"default_values": {},
"draft_id": "<string>",
"history_forked": True,
"idempotency_key": "<string>",
"images": [
{
"data": "<string>",
"media_type": "<string>"
}
],
"include_logs": True,
"interaction_mode": "agentic",
"is_config_page": False,
"max_log_lines": 50,
"model_mode": "<string>",
"namespace": "<string>",
"page_context": {
"current_url": "<string>",
"page_type": "<string>",
"active_tab": "<string>",
"filters": {},
"viewing_addon": {
"addon_name": "<string>",
"stack_name": "<string>"
},
"viewing_resource": {
"kind": "<string>",
"name": "<string>",
"api_version": "<string>",
"namespace": "<string>"
},
"viewing_stack": {
"stack_name": "<string>",
"draft_id": "<string>",
"is_draft": True,
"is_new_stack": True
},
"viewing_stack_profile": {
"draft_id": "<string>",
"is_new_profile": True,
"profile_id": "<string>"
}
},
"rag_context": {
"documents": [
{
"content": "<string>",
"document_id": "<string>",
"similarity_score": 123,
"metadata": {},
"source_id": "<string>"
}
],
"query": "",
"retrieval_time_ms": 0,
"total_tokens_estimated": 0
},
"regenerate_seed": "<string>",
"repository_name": "<string>",
"resource_name": "<string>",
"resource_type": "<string>",
"supersedes_plan_id": "<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({
request: {
query: '<string>',
addon_name: '<string>',
chart_name: '<string>',
chart_version: '<string>',
compliance_focus: {check_id: '<string>', benchmark_id: '<string>'},
conversation_history: [
{
content: '<string>',
role: '<string>',
images: [{data: '<string>', media_type: '<string>'}],
tools_used: [
{
tool_name: '<string>',
finished_at: '<string>',
parameters_preview: {},
status: '<string>'
}
]
}
],
conversation_id: '<string>',
current_values: {},
default_values: {},
draft_id: '<string>',
history_forked: true,
idempotency_key: '<string>',
images: [{data: '<string>', media_type: '<string>'}],
include_logs: true,
interaction_mode: 'agentic',
is_config_page: false,
max_log_lines: 50,
model_mode: '<string>',
namespace: '<string>',
page_context: {
current_url: '<string>',
page_type: '<string>',
active_tab: '<string>',
filters: {},
viewing_addon: {addon_name: '<string>', stack_name: '<string>'},
viewing_resource: {
kind: '<string>',
name: '<string>',
api_version: '<string>',
namespace: '<string>'
},
viewing_stack: {
stack_name: '<string>',
draft_id: '<string>',
is_draft: true,
is_new_stack: true
},
viewing_stack_profile: {draft_id: '<string>', is_new_profile: true, profile_id: '<string>'}
},
rag_context: {
documents: [
{
content: '<string>',
document_id: '<string>',
similarity_score: 123,
metadata: {},
source_id: '<string>'
}
],
query: '',
retrieval_time_ms: 0,
total_tokens_estimated: 0
},
regenerate_seed: '<string>',
repository_name: '<string>',
resource_name: '<string>',
resource_type: '<string>',
supersedes_plan_id: '<string>'
}
})
};
fetch('https://platform.ankra.app/api/v1/chat/sessions/{session_id}/turns', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://platform.ankra.app/api/v1/chat/sessions/{session_id}/turns \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"request": {
"query": "<string>",
"addon_name": "<string>",
"chart_name": "<string>",
"chart_version": "<string>",
"compliance_focus": {
"check_id": "<string>",
"benchmark_id": "<string>"
},
"conversation_history": [
{
"content": "<string>",
"role": "<string>",
"images": [
{
"data": "<string>",
"media_type": "<string>"
}
],
"tools_used": [
{
"tool_name": "<string>",
"finished_at": "<string>",
"parameters_preview": {},
"status": "<string>"
}
]
}
],
"conversation_id": "<string>",
"current_values": {},
"default_values": {},
"draft_id": "<string>",
"history_forked": true,
"idempotency_key": "<string>",
"images": [
{
"data": "<string>",
"media_type": "<string>"
}
],
"include_logs": true,
"interaction_mode": "agentic",
"is_config_page": false,
"max_log_lines": 50,
"model_mode": "<string>",
"namespace": "<string>",
"page_context": {
"current_url": "<string>",
"page_type": "<string>",
"active_tab": "<string>",
"filters": {},
"viewing_addon": {
"addon_name": "<string>",
"stack_name": "<string>"
},
"viewing_resource": {
"kind": "<string>",
"name": "<string>",
"api_version": "<string>",
"namespace": "<string>"
},
"viewing_stack": {
"stack_name": "<string>",
"draft_id": "<string>",
"is_draft": true,
"is_new_stack": true
},
"viewing_stack_profile": {
"draft_id": "<string>",
"is_new_profile": true,
"profile_id": "<string>"
}
},
"rag_context": {
"documents": [
{
"content": "<string>",
"document_id": "<string>",
"similarity_score": 123,
"metadata": {},
"source_id": "<string>"
}
],
"query": "",
"retrieval_time_ms": 0,
"total_tokens_estimated": 0
},
"regenerate_seed": "<string>",
"repository_name": "<string>",
"resource_name": "<string>",
"resource_type": "<string>",
"supersedes_plan_id": "<string>"
}
}
'{
"last_seq": 123,
"session_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "Cluster not found"
}{
"detail": "Cluster not found"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
application/json
Show child attributes
Show child attributes