Creates an import job in the extraction code's case for an uploaded AI chat export (Claude, ChatGPT or Gemini), marks the data source as pending and queues the import. Returns 400 if the file was already imported.
POST
/extraction/ai-chat/import
curl \
--request POST 'http://api.example.com/extraction/ai-chat/import' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"fileId": "string",
"platform": "claude",
"extractionCode": "string"
}'
Request examples
{
"fileId": "string",
"platform": "claude",
"extractionCode": "string"
}
Response examples (201)
{
"data": {
"createdAt": "2026-01-15T14:30:00.000Z",
"updatedAt": "2026-01-15T14:30:00.000Z",
"id": "507f1f77bcf86cd799439011",
"case": "65a1b2c3d4e5f6a7b8c9d0e2",
"extractionCode": "65a1b2c3d4e5f6a7b8c9d0e2",
"file": "65a1b2c3d4e5f6a7b8c9d0e2",
"createdBy": "65a1b2c3d4e5f6a7b8c9d0e2",
"platform": "claude",
"status": "completed",
"startedAt": "2026-01-15T14:30:00.000Z",
"completedAt": "2026-01-15T14:32:10.000Z",
"failedAt": "2026-05-04T09:42:00Z",
"message": "Upload file not found",
"aiChatProvider": "65a1b2c3d4e5f6a7b8c9d0e2",
"stats": {
"conversations": 12,
"messages": 348,
"artifacts": 0,
"activities": 0,
"attachments": 5
}
},
"statusCode": 201,
"timestamp": "2026-01-15T10:15:00.000Z"
}