The Mixpeek Python SDK is auto-generated from our OpenAPI specification and always stays in sync with the latest API features.
Installation
Install via pip:
Requirements: Python 3.9+
Quick Start
import mixpeek
from mixpeek.rest import ApiException
# Configure the client
configuration = mixpeek.Configuration(
host = "https://api.mixpeek.com"
)
# Create an API client
with mixpeek.ApiClient(configuration) as api_client:
# Create an instance of the Collections API
collections_api = mixpeek.CollectionsApi(api_client)
try :
# List collections
collections = collections_api.list_collections(
authorization = "Bearer sk_xxxxxxxxxxxxx" ,
x_namespace = "ns_xxxxxxxxxxxxx"
)
print ( "Collections:" , collections)
except ApiException as e:
print ( f "Exception: { e } " )
Authentication
All API requests require authentication using a Bearer token:
authorization = "Bearer sk_xxxxxxxxxxxxx" # Your API key
x_namespace = "ns_xxxxxxxxxxxxx" # Your namespace ID or custom name
You can create API keys in the Mixpeek dashboard under Organization Settings.
Core Operations
Collections
import mixpeek
from mixpeek.rest import ApiException
configuration = mixpeek.Configuration( host = "https://api.mixpeek.com" )
with mixpeek.ApiClient(configuration) as api_client:
collections_api = mixpeek.CollectionsApi(api_client)
# Create a collection
create_request = mixpeek.CreateCollectionRequest(
alias = "my-collection" ,
description = "Store multimodal documents"
)
collection = collections_api.create_collection(
create_collection_request = create_request,
authorization = "Bearer sk_xxxxxxxxxxxxx" ,
x_namespace = "ns_xxxxxxxxxxxxx"
)
print ( f "Created collection: { collection.collection_id } " )
# Get a collection
retrieved = collections_api.get_collection(
collection_identifier = "my-collection" ,
authorization = "Bearer sk_xxxxxxxxxxxxx" ,
x_namespace = "ns_xxxxxxxxxxxxx"
)
# List all collections
all_collections = collections_api.list_collections(
authorization = "Bearer sk_xxxxxxxxxxxxx" ,
x_namespace = "ns_xxxxxxxxxxxxx"
)
# Delete a collection
collections_api.delete_collection(
collection_identifier = "my-collection" ,
authorization = "Bearer sk_xxxxxxxxxxxxx" ,
x_namespace = "ns_xxxxxxxxxxxxx"
)
Retrievers
import mixpeek
with mixpeek.ApiClient(configuration) as api_client:
retrievers_api = mixpeek.RetrieversApi(api_client)
# Create a retriever
create_request = mixpeek.CreateRetrieverRequest(
retriever_name = "semantic-search" ,
description = "Search across all documents" ,
collection_identifiers = [ "my-collection" ],
stages = [
{
"type" : "embed" ,
"model" : "openai-text-embedding-3-small"
},
{
"type" : "vector_search" ,
"top_k" : 10
}
]
)
retriever = retrievers_api.create_retriever(
create_retriever_request = create_request,
authorization = "Bearer sk_xxxxxxxxxxxxx" ,
x_namespace = "ns_xxxxxxxxxxxxx"
)
# Execute a retriever
execute_request = mixpeek.ExecuteRetrieverRequest(
query = "find relevant documents about AI"
)
results = retrievers_api.execute_retriever(
retriever_id = retriever.retriever_id,
execute_retriever_request = execute_request,
authorization = "Bearer sk_xxxxxxxxxxxxx" ,
x_namespace = "ns_xxxxxxxxxxxxx"
)
print ( f "Found { len (results.results) } results" )
Adhoc Retrievers
Execute retrievers on-the-fly without creating them first:
import mixpeek
with mixpeek.ApiClient(configuration) as api_client:
adhoc_api = mixpeek.AdhocRetrieversApi(api_client)
# Execute adhoc retriever
adhoc_request = mixpeek.AdhocExecuteRequest(
query = "search query" ,
collection_identifiers = [ "my-collection" ],
stages = [
{
"type" : "embed" ,
"model" : "openai-text-embedding-3-small"
},
{
"type" : "vector_search" ,
"top_k" : 10
}
]
)
results = adhoc_api.execute_adhoc_retriever(
adhoc_execute_request = adhoc_request,
authorization = "Bearer sk_xxxxxxxxxxxxx" ,
x_namespace = "ns_xxxxxxxxxxxxx"
)
Documents
import mixpeek
with mixpeek.ApiClient(configuration) as api_client:
documents_api = mixpeek.DocumentsApi(api_client)
# Upload documents
upload_request = mixpeek.UploadDocumentsRequest(
collection_id = "col_abc123" ,
documents = [
{
"url" : "s3://bucket/video.mp4" ,
"metadata" : { "title" : "Demo Video" }
},
{
"url" : "s3://bucket/image.jpg" ,
"metadata" : { "title" : "Demo Image" }
}
]
)
documents = documents_api.upload_documents(
upload_documents_request = upload_request,
authorization = "Bearer sk_xxxxxxxxxxxxx" ,
x_namespace = "ns_xxxxxxxxxxxxx"
)
Error Handling
The SDK provides comprehensive error handling through ApiException:
from mixpeek.rest import ApiException
try :
collection = collections_api.get_collection(
collection_identifier = "non-existent" ,
authorization = "Bearer sk_xxxxxxxxxxxxx" ,
x_namespace = "ns_xxxxxxxxxxxxx"
)
except ApiException as e:
print ( f "Status code: { e.status } " )
print ( f "Reason: { e.reason } " )
print ( f "Body: { e.body } " )
# Handle specific error codes
if e.status == 404 :
print ( "Collection not found" )
elif e.status == 401 :
print ( "Authentication failed - check your API key" )
elif e.status == 403 :
print ( "Access forbidden - check your namespace" )
Available APIs
The SDK includes these API classes:
AdhocRetrieversApi - Execute retrievers without saving them
AgentSessionsApi - Manage AI agent sessions
AlertsApi - Configure and manage alerts
AnalyticsApi - Access usage and performance analytics
BucketsApi - Manage object storage buckets
CollectionsApi - Manage document collections
DocumentsApi - Upload and manage documents
NamespacesApi - Manage multi-tenant namespaces
OrganizationsApi - Organization management
PluginsApi - Configure and manage plugins
RetrieversApi - Create and execute retrievers
TaxonomiesApi - Manage classification taxonomies
WebhooksApi - Configure webhook integrations
Configuration Options
Custom Host
configuration = mixpeek.Configuration(
host = "https://custom.api.endpoint.com"
)
Timeouts
configuration = mixpeek.Configuration(
host = "https://api.mixpeek.com"
)
configuration.timeout = 60 # Set timeout to 60 seconds
Resources
GitHub Repository Source code and issues
API Reference Complete API documentation
OpenAPI Spec OpenAPI specification
Next Steps
Quickstart Get started with Mixpeek
JavaScript SDK Use the JavaScript/TypeScript SDK
MCP Server Use Mixpeek with AI assistants
Examples View example implementations