curl --request GET \
--url https://api.example.com/api/v1/app-conversations/start-tasks \
--header 'X-Access-Token: <api-key>'import requests
url = "https://api.example.com/api/v1/app-conversations/start-tasks"
headers = {"X-Access-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Access-Token': '<api-key>'}};
fetch('https://api.example.com/api/v1/app-conversations/start-tasks', 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.example.com/api/v1/app-conversations/start-tasks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Access-Token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/app-conversations/start-tasks"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Access-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/v1/app-conversations/start-tasks")
.header("X-Access-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/app-conversations/start-tasks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Access-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"created_by_user_id": "<string>",
"request": {
"sandbox_id": "<string>",
"conversation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"initial_message": {
"role": "user",
"content": [
{
"text": "<string>",
"cache_prompt": false,
"type": "text"
}
],
"run": false
},
"system_message_suffix": "<string>",
"processors": [
{
"kind": "BitbucketV1CallbackProcessor",
"bitbucket_view_data": {},
"should_request_summary": true
}
],
"llm_model": "<string>",
"agent_profile_id": "<string>",
"selected_repository": "<string>",
"selected_branch": "<string>",
"git_provider": "github",
"suggested_task": {
"git_provider": "github",
"task_type": "MERGE_CONFLICTS",
"repo": "<string>",
"issue_number": 123,
"title": "<string>"
},
"title": "<string>",
"trigger": "resolver",
"pr_number": [
123
],
"parent_conversation_id": "<string>",
"agent_type": "default",
"public": true,
"observability_metadata": {},
"observability_tags": [
"<string>"
],
"observability_span_name": "<string>",
"plugins": [
{
"source": "<string>",
"ref": "<string>",
"repo_path": "<string>",
"parameters": {}
}
],
"secrets": {}
},
"id": "<string>",
"status": "WORKING",
"detail": "<string>",
"app_conversation_id": "<string>",
"sandbox_id": "<string>",
"agent_server_url": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Batch Get App Conversation Start Tasks
Get a batch of start app conversation tasks given their ids. Return None for any missing.
curl --request GET \
--url https://api.example.com/api/v1/app-conversations/start-tasks \
--header 'X-Access-Token: <api-key>'import requests
url = "https://api.example.com/api/v1/app-conversations/start-tasks"
headers = {"X-Access-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Access-Token': '<api-key>'}};
fetch('https://api.example.com/api/v1/app-conversations/start-tasks', 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.example.com/api/v1/app-conversations/start-tasks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Access-Token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/app-conversations/start-tasks"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Access-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/v1/app-conversations/start-tasks")
.header("X-Access-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/app-conversations/start-tasks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Access-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"created_by_user_id": "<string>",
"request": {
"sandbox_id": "<string>",
"conversation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"initial_message": {
"role": "user",
"content": [
{
"text": "<string>",
"cache_prompt": false,
"type": "text"
}
],
"run": false
},
"system_message_suffix": "<string>",
"processors": [
{
"kind": "BitbucketV1CallbackProcessor",
"bitbucket_view_data": {},
"should_request_summary": true
}
],
"llm_model": "<string>",
"agent_profile_id": "<string>",
"selected_repository": "<string>",
"selected_branch": "<string>",
"git_provider": "github",
"suggested_task": {
"git_provider": "github",
"task_type": "MERGE_CONFLICTS",
"repo": "<string>",
"issue_number": 123,
"title": "<string>"
},
"title": "<string>",
"trigger": "resolver",
"pr_number": [
123
],
"parent_conversation_id": "<string>",
"agent_type": "default",
"public": true,
"observability_metadata": {},
"observability_tags": [
"<string>"
],
"observability_span_name": "<string>",
"plugins": [
{
"source": "<string>",
"ref": "<string>",
"repo_path": "<string>",
"parameters": {}
}
],
"secrets": {}
},
"id": "<string>",
"status": "WORKING",
"detail": "<string>",
"app_conversation_id": "<string>",
"sandbox_id": "<string>",
"agent_server_url": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Query Parameters
Response
Successful Response
Object describing the start process for an app conversation.
Because starting an app conversation can be slow (And can involve starting a sandbox), we kick off a background task for it. Once the conversation is started, the app_conversation_id is populated.
Start conversation request object.
Although a user can go directly to the sandbox and start conversations, they would need to manually supply required startup parameters such as LLM key. Starting from the app server copies these from the user info.
Show child attributes
Show child attributes
WORKING, WAITING_FOR_SANDBOX, PREPARING_REPOSITORY, RUNNING_SETUP_SCRIPT, SETTING_UP_GIT_HOOKS, SETTING_UP_SKILLS, STARTING_CONVERSATION, READY, ERROR The id of the app_conversation, if READY
The id of the sandbox, if READY
The agent server url, if READY
Was this page helpful?

