Suche
Die Search API führt globale Volltextsuche über Ihren Workspace in einem Aufruf aus. Statt jede Domäne separat zu durchsuchen, fragen Sie einmal ab und erhalten eine gerankte, gemischte Trefferliste — Dokumente, Channels, Nachrichten, Todos, Drive-Dateien, Voice-Transkriptionen und KI-Chats — jeweils mit dem Entitätstyp markiert, aus dem sie stammen.
Quick Start
- REST API
- CLI
# Search across every entity type you can access
curl -X GET "https://api.copera.ai/public/v1/search?q=quarterly%20plan" \
-H "Authorization: Bearer YOUR_API_KEY"
# Restrict to specific entity types
curl -X GET "https://api.copera.ai/public/v1/search?q=contract&types=document,driveContent" \
-H "Authorization: Bearer YOUR_API_KEY"
# Sort and limit the results
curl -X GET "https://api.copera.ai/public/v1/search?q=plan&sortBy=updatedAt&sortOrder=desc&limit=20" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -fsSL https://cli.copera.ai/install.sh | bash
# Global search across the workspace
copera search "contract"
# Restrict to specific entity types (repeat --type to add more)
copera search "contract" --type document --type driveContent
Verfügbar in
| Public API | CLI | MCP | Copera AI |
|---|---|---|---|
| ✅ Voll | ✅ Voll | ✅ Voll | — |
Die CLI und der gehostete MCP-Server stellen dieselbe globale Suche bereit. Sie ist dem In-App-Assistenten Copera AI nicht freigegeben.
So funktioniert es
Senden Sie ein GET an /search mit einer Query. Der Endpunkt durchsucht jeden Entitätstyp, für den Sie Berechtigung haben, rankt die Ergebnisse und liefert sie als eine Liste typisierter Hits.
Parameter
q— erforderlich. Die Suchquery (mindestens ein Zeichen).types— optional. Suche auf bestimmte Entitätstypen beschränken. Akzeptiert einen kommagetrennten Wert (?types=document,channel) oder wiederholte Parameter (?types=document&types=channel). Wenn weggelassen, werden alle erlaubten Typen durchsucht. Gültige Werte:documentchannelchannelMessagetodotodoItemdriveContentvoiceTranscriptionaiChataiChatMessage
sortBy—createdAtoderupdatedAt(StandardupdatedAt).sortOrder—ascoderdesc(Standarddesc).limit— Anzahl der Ergebnisse, 1–100 (Standard 50).
Antwort
Die Antwort wrappt die Hits mit Metadaten:
{
"query": "quarterly plan",
"totalHits": 12,
"processingTimeMs": 8,
"hits": [
{ "entityType": "document", "_id": "…", "title": "Q3 Plan", "updatedAt": 1719400000000 },
{ "entityType": "channelMessage", "_id": "…", "content": "let's finalize the plan", "channel": "…" }
]
}
Jeder Hit trägt ein Feld entityType, das die zu erwartende Form angibt. Die Felder pro Typ spiegeln die Entität (z. B. haben document-Hits title und mdBody; channelMessage-Hits haben content, author und channel; driveContent-Hits haben name, mimeType und size). Alle Zeitstempel sind Epoch-Millisekunden.
Berechtigungen und Filterung
Suche respektiert die Scopes Ihres Tokens. Jeder Entitätstyp mappt auf einen Domain-Scope — z. B. brauchen document-Ergebnisse access_docs, Channel- und Transkriptions-Ergebnisse access_channels und Drive-Ergebnisse access_drive. Fehlt Ihrem Token der Scope für einen Typ, wird dieser still aus den Ergebnissen weggelassen.
Wenn Sie explizit eine Menge types anfordern und Ihr Token für keinen davon Berechtigung hat, liefert die Anfrage 403.
Authentifizierung & Scope
Suche erfordert ein Personal Access Token (cp_pat_) — Integration API Keys (cp_key_) werden auf diesem Endpunkt nicht akzeptiert. Die Ergebnisse werden dann nach den Domain-Scopes Ihres Tokens gefiltert (siehe oben). Externe Benutzer können diesen Endpunkt nicht nutzen. Siehe Authentifizierung.
Referenz
- Suche in der API-Referenz — der Endpunkt
GET /searchmit den vollständigen Hit-Schemas pro Entitätstyp. - Docs und Drive — für gescopte, domänenspezifische Suche innerhalb einer Oberfläche.
- Copera CLI und MCP-Server.