Get the next questions
curl --request POST \
--url https://api.zelinqa.ai/v1/sessions/{session_id}/next \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"state_version": 1,
"previous_turn": {
"decision_id": "<string>",
"question_id": "<string>",
"assistant_text": "<string>",
"user_text": "<string>",
"message_id": "<string>"
},
"context_update": {
"mode": "summary",
"text": "<string>"
},
"client_updates": {
"data": [
{
"id": "<string>",
"value": "<string>",
"operation": "set"
}
],
"sub_objectives": [
{
"id": "<string>",
"operation": "set"
}
],
"objective": {
"operation": "set"
}
},
"selection": {
"candidate_count": 5,
"allowed_question_types": [],
"required_target_ids": [
"<string>"
],
"excluded_question_ids": [
"<string>"
]
}
}
'import requests
url = "https://api.zelinqa.ai/v1/sessions/{session_id}/next"
payload = {
"state_version": 1,
"previous_turn": {
"decision_id": "<string>",
"question_id": "<string>",
"assistant_text": "<string>",
"user_text": "<string>",
"message_id": "<string>"
},
"context_update": {
"mode": "summary",
"text": "<string>"
},
"client_updates": {
"data": [
{
"id": "<string>",
"value": "<string>",
"operation": "set"
}
],
"sub_objectives": [
{
"id": "<string>",
"operation": "set"
}
],
"objective": { "operation": "set" }
},
"selection": {
"candidate_count": 5,
"allowed_question_types": [],
"required_target_ids": ["<string>"],
"excluded_question_ids": ["<string>"]
}
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
state_version: 1,
previous_turn: {
decision_id: '<string>',
question_id: '<string>',
assistant_text: '<string>',
user_text: '<string>',
message_id: '<string>'
},
context_update: {mode: 'summary', text: '<string>'},
client_updates: {
data: [{id: '<string>', value: '<string>', operation: 'set'}],
sub_objectives: [{id: '<string>', operation: 'set'}],
objective: {operation: 'set'}
},
selection: {
candidate_count: 5,
allowed_question_types: [],
required_target_ids: ['<string>'],
excluded_question_ids: ['<string>']
}
})
};
fetch('https://api.zelinqa.ai/v1/sessions/{session_id}/next', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"request_id": "<string>",
"session_id": "<string>",
"decision_id": "<string>",
"action": "ask",
"stop_reason": "no_question_available",
"candidates": [
{
"rank": 5,
"question_id": "<string>",
"text": "<string>",
"type": "open",
"choices": [
{
"choice_id": "<string>",
"label": "<string>"
}
],
"target_ids": [
"<string>"
]
}
],
"progress": {
"objective": {
"computed_status": "not_started",
"progress": 0.5,
"client_override": {
"status": "achieved",
"updated_at": "2023-11-07T05:31:56Z"
},
"effective_status": "not_started"
},
"sub_objectives": [
{
"id": "<string>",
"order_position": 1,
"completion_role": "blocking",
"computed_status": "not_started",
"progress": 0.5,
"client_override": {
"status": "achieved",
"updated_at": "2023-11-07T05:31:56Z"
},
"effective_status": "not_started"
}
]
},
"turn_count": 1,
"turns_remaining": 1,
"warnings": [
"max_turns_reached"
],
"degraded": true,
"degraded_reasons": [
"missing_user_text"
],
"versions": {
"state_version": 1,
"engine_version": "<string>",
"api_version": "1.0"
}
}{
"code": "unauthorized",
"message": "<string>",
"request_id": "<string>",
"details": {}
}{
"code": "unauthorized",
"message": "<string>",
"request_id": "<string>",
"details": {}
}{
"code": "unauthorized",
"message": "<string>",
"request_id": "<string>",
"details": {}
}{
"code": "unauthorized",
"message": "<string>",
"request_id": "<string>",
"details": {}
}{
"code": "unauthorized",
"message": "<string>",
"request_id": "<string>",
"details": {}
}{
"code": "unauthorized",
"message": "<string>",
"request_id": "<string>",
"details": {}
}{
"code": "unauthorized",
"message": "<string>",
"request_id": "<string>",
"details": {}
}Sessions
Get the next questions
Apply the previous turn, update progress, and return the best eligible question candidates.
POST
/
v1
/
sessions
/
{session_id}
/
next
Get the next questions
curl --request POST \
--url https://api.zelinqa.ai/v1/sessions/{session_id}/next \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"state_version": 1,
"previous_turn": {
"decision_id": "<string>",
"question_id": "<string>",
"assistant_text": "<string>",
"user_text": "<string>",
"message_id": "<string>"
},
"context_update": {
"mode": "summary",
"text": "<string>"
},
"client_updates": {
"data": [
{
"id": "<string>",
"value": "<string>",
"operation": "set"
}
],
"sub_objectives": [
{
"id": "<string>",
"operation": "set"
}
],
"objective": {
"operation": "set"
}
},
"selection": {
"candidate_count": 5,
"allowed_question_types": [],
"required_target_ids": [
"<string>"
],
"excluded_question_ids": [
"<string>"
]
}
}
'import requests
url = "https://api.zelinqa.ai/v1/sessions/{session_id}/next"
payload = {
"state_version": 1,
"previous_turn": {
"decision_id": "<string>",
"question_id": "<string>",
"assistant_text": "<string>",
"user_text": "<string>",
"message_id": "<string>"
},
"context_update": {
"mode": "summary",
"text": "<string>"
},
"client_updates": {
"data": [
{
"id": "<string>",
"value": "<string>",
"operation": "set"
}
],
"sub_objectives": [
{
"id": "<string>",
"operation": "set"
}
],
"objective": { "operation": "set" }
},
"selection": {
"candidate_count": 5,
"allowed_question_types": [],
"required_target_ids": ["<string>"],
"excluded_question_ids": ["<string>"]
}
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
state_version: 1,
previous_turn: {
decision_id: '<string>',
question_id: '<string>',
assistant_text: '<string>',
user_text: '<string>',
message_id: '<string>'
},
context_update: {mode: 'summary', text: '<string>'},
client_updates: {
data: [{id: '<string>', value: '<string>', operation: 'set'}],
sub_objectives: [{id: '<string>', operation: 'set'}],
objective: {operation: 'set'}
},
selection: {
candidate_count: 5,
allowed_question_types: [],
required_target_ids: ['<string>'],
excluded_question_ids: ['<string>']
}
})
};
fetch('https://api.zelinqa.ai/v1/sessions/{session_id}/next', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"request_id": "<string>",
"session_id": "<string>",
"decision_id": "<string>",
"action": "ask",
"stop_reason": "no_question_available",
"candidates": [
{
"rank": 5,
"question_id": "<string>",
"text": "<string>",
"type": "open",
"choices": [
{
"choice_id": "<string>",
"label": "<string>"
}
],
"target_ids": [
"<string>"
]
}
],
"progress": {
"objective": {
"computed_status": "not_started",
"progress": 0.5,
"client_override": {
"status": "achieved",
"updated_at": "2023-11-07T05:31:56Z"
},
"effective_status": "not_started"
},
"sub_objectives": [
{
"id": "<string>",
"order_position": 1,
"completion_role": "blocking",
"computed_status": "not_started",
"progress": 0.5,
"client_override": {
"status": "achieved",
"updated_at": "2023-11-07T05:31:56Z"
},
"effective_status": "not_started"
}
]
},
"turn_count": 1,
"turns_remaining": 1,
"warnings": [
"max_turns_reached"
],
"degraded": true,
"degraded_reasons": [
"missing_user_text"
],
"versions": {
"state_version": 1,
"engine_version": "<string>",
"api_version": "1.0"
}
}{
"code": "unauthorized",
"message": "<string>",
"request_id": "<string>",
"details": {}
}{
"code": "unauthorized",
"message": "<string>",
"request_id": "<string>",
"details": {}
}{
"code": "unauthorized",
"message": "<string>",
"request_id": "<string>",
"details": {}
}{
"code": "unauthorized",
"message": "<string>",
"request_id": "<string>",
"details": {}
}{
"code": "unauthorized",
"message": "<string>",
"request_id": "<string>",
"details": {}
}{
"code": "unauthorized",
"message": "<string>",
"request_id": "<string>",
"details": {}
}{
"code": "unauthorized",
"message": "<string>",
"request_id": "<string>",
"details": {}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Required string length:
8 - 128Path Parameters
Required string length:
1 - 128Body
application/json
Response
Successful response.
Available options:
ask, stop Available options:
no_question_available Maximum array length:
10Show child attributes
Show child attributes
Show child attributes
Show child attributes
Required range:
x >= 0Required range:
x >= 0Available options:
max_turns_reached, objective_achieved, eligibility_exhausted_fallback, constraints_relaxed Available options:
missing_user_text, summary_only_context, semantic_service_unavailable, unresolved_previous_turn Show child attributes
Show child attributes