get_ai_project_thread¶
- ArtificialIntelligenceApi.get_ai_project_thread(project_id, thread_id, role_id, _request_timeout=None, _request_auth=None, _content_type=None, _headers=None, _host_index=0)¶
Get project thread details
Returns everything stored about one thread: its title, keywords, visibility, timestamps, attached files, and the generated summary when one exists. Use the thread messages endpoint for the conversation itself. You need at least read-only access to the project. AccessType in the response is owner when you created the thread and read-only otherwise.
- Parameters:
project_id (str) – Identifier of the project the thread belongs to. You must have at least read-only access to it. (required)
thread_id (str) – Identifier of the thread to retrieve. (required)
role_id (str) – Amorphic role used to authorize this request. (required)
_request_timeout (int, tuple(int, int), optional) – timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts.
_request_auth (dict, optional) – set to override the auth_settings for an a single request; this effectively ignores the authentication in the spec for a single request.
_content_type (str, Optional) – force content-type for the request.
_headers (dict, optional) – set to override the headers for a single request; this effectively ignores the headers in the spec for a single request.
_host_index (int, optional) – set to override the host_index for a single request; this effectively ignores the host_index in the spec for a single request.
- Return type:
- Returns:
Returns the result object.
Request and Response Examples¶
HTTP: GET /ai/projects/{project_id}/threads/{thread_id}
Success (HTTP 200)¶
The stored thread. Fields that were never set are omitted, so `Keywords`, `Files`, `Summary` and the summary status fields appear only once the thread has them.
Thread you own, with a summary and one file
{
"ThreadId": "e2a91c5b-7d64-4f38-91ac-3b5e0d7f2c18",
"Title": "Q3 revenue analysis",
"CreatedBy": "john.doe",
"CreationTime": "2026-07-14 09:12:44",
"LastModifiedTime": "2026-08-02 16:38:05",
"ExpirationTime": "2026-09-01 09:12:44",
"ClientId": "project#7b3f2c18-4a5d-4e91-9c0a-2d6e8f1b3a44",
"Visibility": "private",
"AccessType": "owner",
"IsTitleUpdated": true,
"Keywords": [
"revenue",
"forecast"
],
"Summary": "The thread walks through Q3 revenue by region and flags the EMEA shortfall.",
"SummaryGenerationStatus": "completed",
"SummaryGenerationTime": "2026-08-02 16:37:11",
"Files": [
{
"FileName": "q3-revenue.csv",
"FileSize": 184320,
"FileType": "text/csv",
"UploadTime": "2026-07-14 09:20:03",
"SyncStatus": "INDEXED",
"LastSyncedTime": "2026-07-14 09:22:40",
"LastSyncedStatus": "SUCCEEDED"
}
]
}
Thread another member shared, not yet used
{
"ThreadId": "4c8d1e07-2b93-4a15-8e6f-9d0c7a3b5e21",
"Title": "New Thread",
"CreatedBy": "maria.lopez",
"CreationTime": "2026-08-18 10:05:12",
"LastModifiedTime": "2026-08-18 10:05:12",
"ExpirationTime": "2026-09-17 10:05:12",
"ClientId": "project#7b3f2c18-4a5d-4e91-9c0a-2d6e8f1b3a44",
"Visibility": "public",
"AccessType": "read-only"
}
Errors¶
Documented error codes: IPV-1002, AUTH-1012, AUTH-1001, AUTH-1030, GE-1008.
HTTP 400
The request was invalid or you do not have permission. The body is {“Message”: “<CODE> - <text>”}. Common cases include an unknown project or thread (IPV-1002), no access to the project (AUTH-1012), a missing role_id header (AUTH-1001), or the role lacking ai.view (AUTH-1030). Permission failures return 400, not 403.
Thread does not exist
{
"Message": "IPV-1002 - Invalid ChatId - e2a91c5b-7d64-4f38-91ac-3b5e0d7f2c18, resource not found."
}
You have no access to the project
{
"Message": "AUTH-1012 - User: john.doe requires at least read-only access on the resource to perform this action."
}
HTTP 500
An unexpected server error. The body is {“Message”: “GE-1008 - Could not complete the request. Please try again.”}.
Request could not be completed
{
"Message": "GE-1008 - Could not complete the request. Please try again."
}