GET /api/v1/community/search
Searches the threads and replies of the spaces you can read, re-checking each space permission on every call. Returns 30 results at most. Archived spaces are included: that is often where the answer already lives.
| Role in the organization | This endpoint |
|---|---|
OWNER | Allowed |
ADMIN | Allowed |
MEMBER | Conditional — only in the spaces they can read |
| Requirement | Rule for this endpoint |
|---|---|
| Business role | None |
| Resource scope | Readable spaces of the key's organization |
| Participation | For a MEMBER: an enrollment in the space's program or cohort |
| Resource state | Archived spaces included |
| Parameter | Type | Required | Description |
|---|---|---|---|
q | string | yes | 2 to 200 characters |
spaceId | UUID | no | Limit to one readable space; an unreadable space returns an empty list |
curl "$COHORTE_API_BASE_URL/api/v1/community/search?q=tool%20calling" \
-H "x-api-key: $COHORTE_API_KEY"200 OK — the hits, possibly empty.400 Bad Request — q missing or out of bounds, or spaceId not a UUID.401 Unauthorized — missing, unknown or expired key.| Field | Type | Description |
|---|---|---|
data[].threadId | UUID | Read it with Read a thread |
data[].title | string | Thread title |
data[].spaceId / data[].spaceName / data[].spaceStatus | Where it lives | |
data[].authorUserId | UUID | Author id, or null |
data[].authoredByMe | boolean | The key holder wrote it |
data[].matchedIn | string | thread or reply |
data[].excerpt | string | The matching passage |
data[].resolved | boolean | A curated answer exists |
data[].replyCount | number | Replies in the thread |
data[].createdAt | string | ISO 8601 |
{
"success": true,
"data": [
{
"threadId": "2d3e4f5a-6b7c-4d8e-9f0a-1b2c3d4e5f6a",
"title": "Tool calling fails on step 2",
"spaceId": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"spaceName": "Agentic AI — Spring 2026",
"spaceStatus": "open",
"authorUserId": "5b6c7d8e-9f0a-4b1c-8d2e-3f4a5b6c7d8e",
"authoredByMe": false,
"createdAt": "2026-10-04T18:20:00.000Z",
"matchedIn": "reply",
"excerpt": "…the tool calling schema needs a name…",
"resolved": true,
"replyCount": 4
}
],
"correlationId": "c0ffee00-1111-4222-8333-444455556666"
}