Skip to main content
GET
/
integrations
/
{integration_id}
/
status
curl -X GET 'https://api.memchat.io/integrations/int_linkedin_123/status' \
  -H 'X-API-Key: YOUR_API_KEY'
{
  "integration_id": "int_linkedin_123",
  "type": "social",
  "platform": "linkedin",
  "status": "processing",
  "progress": {
    "percentage": 65,
    "current_step": "extracting_posts",
    "total_steps": 4,
    "estimated_completion": "2024-01-15T16:45:00Z"
  },
  "stats": {
    "items_processed": 95,
    "items_total": 147,
    "memories_created": 67,
    "errors_count": 3,
    "processing_time": 145
  },
  "last_activity": "2024-01-15T16:32:15Z",
  "created_at": "2024-01-15T16:30:00Z",
  "errors": [
    {
      "error_id": "err_001",
      "message": "Failed to parse post content",
      "code": "PARSE_ERROR",
      "timestamp": "2024-01-15T16:31:30Z",
      "item_id": "post_xyz789"
    }
  ]
}
Retrieves the current status, progress, and details of a specific integration.
curl -X GET 'https://api.memchat.io/integrations/int_linkedin_123/status' \
  -H 'X-API-Key: YOUR_API_KEY'

Path Parameters

integration_id
string
required
The unique identifier of the integration

Query Parameters

include_logs
boolean
default:"false"
Whether to include processing logs in the response
include_errors
boolean
default:"true"
Whether to include error details in the response

Response

integration_id
string
Unique identifier of the integration
type
string
Integration type: social, file, chat, api
platform
string
Platform or service name (e.g., linkedin, chatgpt, pdf)
status
string
Current status: pending, processing, completed, failed, cancelled
progress
object
Progress information for the integration
stats
object
Processing statistics
last_activity
string
ISO 8601 timestamp of last processing activity
created_at
string
ISO 8601 timestamp when integration was created
completed_at
string
ISO 8601 timestamp when integration completed (if finished)
errors
array
List of errors encountered (if include_errors=true)
logs
array
Processing logs (if include_logs=true)
{
  "integration_id": "int_linkedin_123",
  "type": "social",
  "platform": "linkedin",
  "status": "processing",
  "progress": {
    "percentage": 65,
    "current_step": "extracting_posts",
    "total_steps": 4,
    "estimated_completion": "2024-01-15T16:45:00Z"
  },
  "stats": {
    "items_processed": 95,
    "items_total": 147,
    "memories_created": 67,
    "errors_count": 3,
    "processing_time": 145
  },
  "last_activity": "2024-01-15T16:32:15Z",
  "created_at": "2024-01-15T16:30:00Z",
  "errors": [
    {
      "error_id": "err_001",
      "message": "Failed to parse post content",
      "code": "PARSE_ERROR",
      "timestamp": "2024-01-15T16:31:30Z",
      "item_id": "post_xyz789"
    }
  ]
}

Status Types

Integration is queued and waiting to start processing.
Integration is currently being processed. Check progress for details.
Integration has finished successfully. All processable items have been handled.
Integration failed due to a critical error. Check errors array for details.
Integration was cancelled by the user or system before completion.

Processing Steps

Different integration types have different processing steps:
  1. authentication - Validating access tokens
  2. discovery - Finding available content
  3. extraction - Downloading content
  4. processing - Creating memories from content
  1. upload - Receiving and storing file
  2. parsing - Extracting text content
  3. chunking - Breaking content into chunks
  4. memory_creation - Creating memories from chunks
  1. validation - Validating chat data format
  2. conversation_detection - Identifying conversations
  3. content_extraction - Extracting meaningful content
  4. memory_creation - Creating memories from conversations

Error Responses

404
object
Integration not found
{
  "error": "Integration not found",
  "code": "INTEGRATION_NOT_FOUND",
  "integration_id": "int_invalid_123"
}
401
object
Unauthorized access
{
  "error": "Invalid or expired token",
  "code": "UNAUTHORIZED"
}

Real-time Updates

For real-time status updates, consider using:
  • Webhooks: Configure webhook endpoints to receive status updates
  • Polling: Poll this endpoint every 10-30 seconds during processing
  • WebSocket: Connect to the WebSocket endpoint for live updates (coming soon)
I