Ingest data for processing with memory integration
Ingest data for asynchronous processing
Accepts various content types (text, messages, files) and processes them to extract information
and integrate it into the user's memory system. Returns a job_id for tracking status.
**Entity Resolution:**
- user_id (str, required): Always required - the main user identifier
- persona_id (str, optional): If provided, data is ingested to this persona instead of user
- project_id (str, optional): If provided, data is ingested to this project (inherits from user)
Priority: persona_id > project_id > user_id
**Request Parameters:**
- content_type (str, required): One of: "text", "messages", "pdf", "word", "image", "video", "audio", "file"
- payload (str|dict|list, required): Content data (text string, message list, or base64 for files)
- content_description (str, optional): Description of the content being ingested (e.g., 'Logo design concepts', 'Meeting notes')
- session_id (str, optional): Groups related content for session-based retrieval
- timestamp (str, optional): ISO-8601 timestamp for historical data
- filename (str, optional): Original filename for file uploads
**Response:**
- job_id (str): Unique identifier for tracking the processing job
- user_id (str): Confirmed entity ID (user, persona, or project)
- content_type (str): Confirmed content type
- status (str): Job status ('queued', 'accepted')
- message (str): Status message
- created_at (str): ISO-8601 timestamp
- success (bool): True if accepted
**Example:**
```json
{
"user_id": "user-123",
"persona_id": null,
"project_id": "project-456",
"content_type": "text",
"payload": "Meeting notes from today's discussion",
"content_description": "Meeting notes from today's discussion"
}
```
Returns 202 Accepted with job_id. Use /job/status to check processing status.
Max payload: 5MB (JSON), 20MB (multipart). Requires JWT authentication.
Request body
Example request
{
"content_description": "Email correspondence about project updates",
"content_type": "text",
"payload": "From: john@example.com\nTo: jane@example.com\nSubject: Hello\n\nHello Jane!",
"timestamp": "2024-01-01T12:00:00Z",
"user_id": "user-123"
}Response
Successful Response
Example response
{
"content_type": "text",
"created_at": "2024-01-01T12:00:00Z",
"job_id": "123e4567-e89b-12d3-a456-426614174000",
"message": "Content successfully uploaded and queued for processing",
"status": "queued",
"success": true,
"user_id": "abc-123"
}Changes
Changed in 6 of the 29 revisions of this API.323
- ○
added the new optional request property
callback_urlnew-optional-request-property
- ○
added the new optional request property
notification_emailnew-optional-request-property
- ○
- ○
the request property
content_typebecame optionalrequest-property-became-optional
- ○
request property
content_typelist-of-types was widened by adding typesnullto media typeapplication/jsonrequest-property-list-of-types-widened
- ○
- ▲
removed the required property
content_typefrom the response with the202statusresponse-required-property-removed
- ▲
removed the required property
created_atfrom the response with the202statusresponse-required-property-removed
- ▲
removed the required property
user_idfrom the response with the202statusresponse-required-property-removed
This revision also has 20 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ▲
- ○
added the new optional request property
content_descriptionnew-optional-request-property
- ○
- ○
added the new optional request property
persona_idnew-optional-request-property
- ○
added the new optional request property
project_idnew-optional-request-property
- ○
- ○
added the non-success response with the status
404response-non-success-status-added
- ○
added the optional property
detailsto the response with the400statusresponse-optional-property-added
- ○
added the optional property
detailsto the response with the401statusresponse-optional-property-added
- ○
added the optional property
detailsto the response with the413statusresponse-optional-property-added
- ○
added the optional property
detailsto the response with the422statusresponse-optional-property-added
- ○
added the optional property
detailsto the response with the500statusresponse-optional-property-added
- ○
added the optional property
request_idto the response with the400statusresponse-optional-property-added
- ○
added the optional property
request_idto the response with the401statusresponse-optional-property-added
- ○
added the optional property
request_idto the response with the413statusresponse-optional-property-added
- ○
added the optional property
request_idto the response with the422statusresponse-optional-property-added
- ○
added the optional property
request_idto the response with the500statusresponse-optional-property-added
- ○
added the required property
error_codeto the response with the400statusresponse-required-property-added
- ○
added the required property
error_codeto the response with the401statusresponse-required-property-added
- ○
added the required property
error_codeto the response with the413statusresponse-required-property-added
- ○
added the required property
error_codeto the response with the422statusresponse-required-property-added
- ○
added the required property
error_codeto the response with the500statusresponse-required-property-added
This revision also has 7 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ○