Read a search's conversation
The project’s assistant conversation in the app, oldest first, and any scoring change it proposed for this search that nobody has applied yet, with what applying it would do to the shortlist. messages is what people and the project’s assistant wrote in Revcenter (the latest 200), each with its role, text and the search it was about. pending_change is null unless the assistant proposed a cut-off, weight or requirement change for this search that would move someone and that hasn’t been applied or discarded; its preview counts the shortlist before and after. To make a change yourself, use preview_scoring and apply_scoring. thread_id is null when nobody has written in the project’s conversation yet. Does not use credits.
Needs scope searches:read.
curl --request GET \
--url https://api.revcenter.ai/v1/searches/{searchId}/thread \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.revcenter.ai/v1/searches/{searchId}/thread', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.revcenter.ai/v1/searches/{searchId}/thread"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"search_id": "0b9e7d6c-5a4f-4e3d-8c2b-1a0f9e8d7c61",
"project_id": "6f1c2a0e-3b7d-4c1e-9a52-0d4e8b7c1a11",
"thread_id": "2a7c9e41-6b3d-4f58-9c0e-1d2f3a4b5c6d",
"messages": [
{
"id": "8e1f2a3b-4c5d-4e6f-8a7b-9c0d1e2f3a4b",
"role": "user",
"content": "Drop anyone without a CPA.",
"search_id": "0b9e7d6c-5a4f-4e3d-8c2b-1a0f9e8d7c61",
"created_at": "2026-10-17T15:02:11.000Z"
},
{
"id": "9f2a3b4c-5d6e-4f7a-8b9c-0d1e2f3a4b5c",
"role": "assistant",
"content": "If applied: the shortlist goes from 14 to 11 (−3), at a cut-off of 80. Nothing changes until you apply it.",
"search_id": "0b9e7d6c-5a4f-4e3d-8c2b-1a0f9e8d7c61",
"created_at": "2026-10-17T15:02:19.000Z"
}
],
"pending_change": {
"criteria_version_id": "4b5c6d7e-8f9a-4b0c-9d1e-2f3a4b5c6d7e",
"explanation": "Make a CPA a must-have.",
"created_at": "2026-10-17T15:02:19.000Z",
"preview": {
"shortlist_before": 14,
"shortlist_after": 11,
"entering": 0,
"leaving": 3,
"cutoff_before": 80,
"cutoff_after": 80
}
}
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}curl --request GET \
--url https://api.revcenter.ai/v1/searches/{searchId}/thread \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.revcenter.ai/v1/searches/{searchId}/thread', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.revcenter.ai/v1/searches/{searchId}/thread"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"search_id": "0b9e7d6c-5a4f-4e3d-8c2b-1a0f9e8d7c61",
"project_id": "6f1c2a0e-3b7d-4c1e-9a52-0d4e8b7c1a11",
"thread_id": "2a7c9e41-6b3d-4f58-9c0e-1d2f3a4b5c6d",
"messages": [
{
"id": "8e1f2a3b-4c5d-4e6f-8a7b-9c0d1e2f3a4b",
"role": "user",
"content": "Drop anyone without a CPA.",
"search_id": "0b9e7d6c-5a4f-4e3d-8c2b-1a0f9e8d7c61",
"created_at": "2026-10-17T15:02:11.000Z"
},
{
"id": "9f2a3b4c-5d6e-4f7a-8b9c-0d1e2f3a4b5c",
"role": "assistant",
"content": "If applied: the shortlist goes from 14 to 11 (−3), at a cut-off of 80. Nothing changes until you apply it.",
"search_id": "0b9e7d6c-5a4f-4e3d-8c2b-1a0f9e8d7c61",
"created_at": "2026-10-17T15:02:19.000Z"
}
],
"pending_change": {
"criteria_version_id": "4b5c6d7e-8f9a-4b0c-9d1e-2f3a4b5c6d7e",
"explanation": "Make a CPA a must-have.",
"created_at": "2026-10-17T15:02:19.000Z",
"preview": {
"shortlist_before": 14,
"shortlist_after": 11,
"entering": 0,
"leaving": 3,
"cutoff_before": 80,
"cutoff_after": 80
}
}
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}{
"error": {
"code": "search_not_found",
"message": "No search with that id in this workspace.",
"details": null,
"request_id": "req_01JABCDEF"
},
"meta": {
"request_id": "req_01JABCDEF"
}
}