v5

latestOpenAPI 3.1.02026-08-025631,1012.8 MB
Organization Connections

Get Storage Connection

Retrieve a storage connection by ID or name.

Returns connection metadata including name, provider type, status, and health information. Credentials are automatically redacted from responses.

Identifier Resolution:

  • If identifier starts with 'conn_', treated as connection ID
  • Otherwise, treated as connection name

Example:

# By ID
curl -X GET "http://localhost:8000/v1/organizations/connections/conn_abc123" \
  -H "Authorization: Bearer YOUR_API_KEY"

# By name
curl -X GET "http://localhost:8000/v1/organizations/connections/Marketing%20Drive" \
  -H "Authorization: Bearer YOUR_API_KEY"
get/v1/organizations/connections/{connection_identifier}

Path parameters

connection_identifierstring required

Connection identifier - either connection ID (conn_...) or name. The system will automatically resolve names to IDs.

Example:conn_abc123def456ghi

Connection identifier - either connection ID (conn_...) or name. The system will automatically resolve names to IDs.

Response

Successful Response

connection_idstring

Unique identifier for the storage connection. Auto-generated with 'conn_' prefix followed by secure random token. Format: conn_{15-character alphanumeric}. Used for API operations and audit trails.

internal_idstring required

REQUIRED. Organization internal identifier for multi-tenancy scoping. All connection operations are scoped to this organization. Format: int_{24-character secure token}.

provider_type'google_drive' | 's3' | 'snowflake' | 'sharepoint' | 'tigris' | 'postgresql' | 'instagram' | 'tiktok' | 'rss' | 'http_api' | 'box' | 'brightdata' | 'backblaze' | 'mux' | 'email' | 'supabase' | 'iconik' required

Supported external storage providers for ingestion and sync.

Mixpeek can connect to external storage providers to automatically ingest objects and keep them synchronized with your namespaces.

Providers: GOOGLE_DRIVE: Google Drive and Google Workspace shared drives. - Authentication: Service account or OAuth2 - Features: Shared drive support, real-time sync, metadata preservation - Use cases: Marketing assets, team documents, knowledge bases - Limitations: Rate limits apply (10,000 requests/100 seconds per user)

S3: Amazon S3 and S3-compatible storage (MinIO, DigitalOcean Spaces, etc).
    - Authentication: Access keys or IAM role assumption
    - Features: Bucket notifications, prefix filtering, versioning support
    - Use cases: Data lakes, video archives, ML datasets, backups
    - Limitations: IAM role assumption preferred over access keys

SNOWFLAKE: Snowflake data warehouse tables.
    - Authentication: Key pair or username/password
    - Features: Incremental sync via watermarks, row-level mapping, schema introspection
    - Use cases: Customer data tables, product catalogs, transaction logs, metadata tables
    - Limitations: Each row becomes one object; large tables require incremental column

SHAREPOINT: Microsoft SharePoint and OneDrive for Business.
    - Authentication: Azure AD OAuth2 (client credentials or delegated)
    - Features: Site/drive selection, folder sync, delta queries for incremental sync
    - Use cases: Enterprise documents, team collaboration files, compliance archives
    - Limitations: Requires Azure AD app registration; throttling limits apply

Connection Requirements: - Valid credentials with read access to target files/buckets - Network connectivity from Mixpeek infrastructure - Appropriate IAM policies or share permissions configured

Examples: - Use GOOGLE_DRIVE for syncing team marketing materials - Use S3 for ingesting video archives from data lakes - Use S3 with IAM role for secure production deployments - Use SHAREPOINT for syncing enterprise SharePoint document libraries

TIGRIS: Tigris Data globally distributed object storage (S3-compatible).
    - Authentication: Access keys (same format as S3)
    - Features: S3-compatible API, global distribution, zero egress fees
    - Use cases: Globally distributed media, low-latency content delivery
    - Endpoint: https://fly.storage.tigris.dev

POSTGRESQL: PostgreSQL relational database.
    - Authentication: Username/password
    - Features: SQL queries, incremental sync via watermarks, row-level mapping
    - Use cases: Customer data tables, product catalogs, transaction logs
    - Limitations: Each row becomes one object; large tables require incremental column

INSTAGRAM: Instagram Business/Creator accounts via Meta Graph API.
    - Authentication: OAuth 2.0 via Meta Developer Console
    - Features: Media sync (posts, reels, carousels), engagement metrics, captions
    - Use cases: Social media content analysis, talent scouting, competitor monitoring
    - Limitations: Requires Instagram Business/Creator account; long-lived tokens (60 days) need refresh

TIKTOK: TikTok accounts via TikTok Content API.
    - Authentication: OAuth 2.0 via TikTok Login Kit
    - Features: Video sync, engagement metrics (likes, views, shares), descriptions
    - Use cases: Social media content analysis, creator discovery, trend monitoring
    - Limitations: Access tokens expire in 24h (refresh_token flow); rate limits apply

RSS: RSS/Atom feed entries.
    - Authentication: Optional HTTP headers (most feeds are public)
    - Features: Entry-level sync with title, author, categories, content
    - Use cases: News monitoring, blog ingestion, content aggregation
    - Limitations: No pagination; feeds are fetched in full each poll

HTTP_API: Arbitrary REST/HTTP JSON APIs.
    - Authentication: Optional HTTP headers (API keys, Bearer tokens, etc.)
    - Features: Configurable JSONPath to items array, dedup via item ID field,
      incremental sync via timestamp field, GET or POST methods, JSON or JSONL responses
    - Use cases: Public APIs (Hacker News, GitHub), private APIs (Stripe, internal services),
      any JSON endpoint that returns a list of items
    - Limitations: No built-in pagination; API is fetched in full each poll

BOX: Box cloud content management and file sharing.
    - Authentication: OAuth 2.0 (JWT or Client Credentials Grant with CCG)
    - Features: Folder sync, enterprise content management, metadata, versioning
    - Use cases: Enterprise document management, compliance archives, collaboration files
    - Limitations: Rate limits apply (10 API calls per second per user)

BRIGHTDATA: BrightData web data platform for dataset collection and web scraping.
    - Authentication: API token from BrightData dashboard
    - Features: Pre-built datasets (LinkedIn, Amazon, etc.), custom scrapers,
      scheduled collection, geo-targeting, output format selection
    - Use cases: Competitor monitoring, market research, lead generation,
      e-commerce pricing, social media data ingestion
    - Limitations: Dataset availability depends on subscription; rate limits vary

BACKBLAZE: Backblaze B2 Cloud Storage (S3-compatible object storage).
    - Authentication: Application key ID + application key from Backblaze console
    - Features: S3-compatible API, auto-discovers regional endpoint via B2 auth,
      full bucket/prefix sync, include/exclude patterns, modified_since filtering
    - Use cases: Cold storage sync, media archives, backup ingestion
    - Limitations: Buckets are region-specific; key must have listFiles/readFiles

MUX: Mux video infrastructure platform.
    - Authentication: Access token ID + access token secret (HTTP Basic Auth)
    - Features: Video asset listing, static rendition download (MP4), metadata sync
    - Use cases: Video library ingestion, media asset processing, content analysis
    - Limitations: Assets must be in 'ready' status; static renditions must be enabled

EMAIL: Inbound email connector (push-based).
    - Authentication: Per-connection webhook signing secret (HMAC-SHA256)
    - Features: MIME parsing, attachment extraction, sender allowlist, raw .eml archival
    - Use cases: Document intake via email forwarding, compliance mailbox, support inbox
    - Limitations: Requires external inbound email service (SES/Postmark/CloudMailin)

SUPABASE: Supabase Storage (S3-compatible object storage built on open source).
    - Authentication: Dedicated S3 access keys (recommended) OR service_role JWT as
      session token (access_key_id=project_ref, secret=anon_key, session_token=service_role)
    - Features: S3-compatible API, per-project endpoint auto-derived from project_ref,
      bucket-scoped sync, include/exclude patterns, modified_since incremental sync
    - Use cases: Syncing user-uploaded assets from Supabase-backed apps, unified
      search across Supabase Storage + other sources
    - Limitations: Endpoint is project-specific (https://<ref>.storage.supabase.co);
      S3 keys must be generated from the Supabase dashboard (Storage → S3 Access Keys)
namestring required

REQUIRED. Human-readable connection name for identification. Displayed in dashboards, sync logs, and API responses. Must be unique within the organization for clarity. Format: 1-100 characters, descriptive of the connection's purpose.

descriptionstring nullable

NOT REQUIRED. Optional description explaining the connection's purpose and scope. Helpful for team collaboration and documentation. Format: Up to 500 characters.

status'PENDING' | 'QUEUED' | 'IN_PROGRESS' | 'PROCESSING' | 'COMPLETED' | 'COMPLETED_WITH_ERRORS' | 'FAILED' | 'CANCELED' | 'INTERRUPTED' | 'UNKNOWN' | 'SKIPPED' | 'DRAFT' | 'ACTIVE' | 'ARCHIVED' | 'SUSPENDED'

Enumeration of task statuses for tracking asynchronous operations.

Task statuses indicate the current state of asynchronous operations like batch processing, object ingestion, clustering, and taxonomy execution.

Status Categories: Operation Statuses: Track progress of async operations Lifecycle Statuses: Track entity state (buckets, collections, namespaces)

Values: PENDING: Task is queued but has not started processing yet IN_PROGRESS: Task is currently being executed PROCESSING: Task is actively processing data (similar to IN_PROGRESS) COMPLETED: Task finished successfully with no errors COMPLETED_WITH_ERRORS: Task finished but some items failed (partial success) FAILED: Task encountered an error and could not complete CANCELED: Task was manually canceled by a user or system UNKNOWN: Task status could not be determined SKIPPED: Task was intentionally skipped DRAFT: Task is in draft state and not yet submitted

ACTIVE: Entity is active and operational (for buckets, collections, etc.)
ARCHIVED: Entity has been archived
SUSPENDED: Entity has been temporarily suspended

Terminal Statuses: COMPLETED, COMPLETED_WITH_ERRORS, FAILED, CANCELED are terminal statuses. Once a task reaches these states, it will not transition to another state.

Partial Success Handling: COMPLETED_WITH_ERRORS indicates that the operation completed but some documents/items failed. The task result includes: - List of successful items - List of failed items with error details - Success rate percentage This allows clients to handle partial success scenarios appropriately.

Polling Guidance: - Poll tasks in PENDING, QUEUED, IN_PROGRESS, or PROCESSING states - Stop polling when task reaches COMPLETED, COMPLETED_WITH_ERRORS, FAILED, or CANCELED - Use exponential backoff (1s → 30s) when polling

is_activeboolean

Quick boolean flag for filtering active connections in queries. True when status is ACTIVE, False for SUSPENDED/FAILED/ARCHIVED. Maintained automatically when status changes. Use for efficient filtering: db.connections.find({'is_active': True})

last_used_atstring date-time nullable

NOT REQUIRED. UTC timestamp of the most recent successful sync operation. Updated automatically after each successful file sync/list operation. None if connection has never been used. Useful for identifying stale connections and usage analytics.

last_errorstring nullable

NOT REQUIRED. Most recent error message from failed health check or sync. Populated when authentication fails, network errors occur, or permissions denied. None when connection is healthy. Format: Error message truncated to 1000 characters. Used for diagnostics and troubleshooting.

consecutive_failuresinteger

Counter tracking consecutive failed health checks or sync attempts. Incremented on each failure, reset to 0 on success. Used to implement automatic connection suspension. Auto-suspend after 5 consecutive failures to prevent account lockout. Range: 0 to infinity (typically 0-10).

created_atstring date-time

UTC timestamp when the connection was created. Auto-generated using shared.utilities.helpers.current_time(). Immutable after creation. Format: ISO 8601 datetime.

updated_atstring date-time

UTC timestamp of the most recent update to the connection. Updated automatically on any field modification. Tracks configuration changes, status updates, and credential refreshes. Format: ISO 8601 datetime.

created_by_user_idstring required

REQUIRED. User identifier of the user who created this connection. Used for audit trails and permission checks. Format: usr_{15-character alphanumeric}. Immutable after creation.

metadataobject

Arbitrary key-value metadata provided by the user. Useful for tagging, categorization, and custom annotations. NOT REQUIRED - defaults to empty dictionary. Common uses: team tags, cost center codes, project identifiers.

Example response

{
  "connection_id": "conn_abc123def456ghi",
  "created_by_user_id": "usr_admin123abc456",
  "description": "Team drive for marketing assets",
  "internal_id": "int_org123",
  "is_active": true,
  "metadata": {
    "team": "marketing"
  },
  "name": "Marketing Google Drive",
  "provider_config": {
    "credentials": {
      "client_email": "sync@project.iam.gserviceaccount.com",
      "type": "service_account"
    },
    "provider_type": "google_drive",
    "shared_drive_id": "0AH-Xabc123"
  },
  "provider_type": "google_drive",
  "status": "active"
}