---
title: "Search one platform source: memory, conversations, the trace library, memory notes, files, meeting notes, skills or agents [read]"
method: GET
path: "/context/search"
tags: ["Memory"]
---

# Search one platform source: memory, conversations, the trace library, memory notes, files, meeting notes, skills or agents \[read\]

`GET /context/search`

## Request

- Base URL: `https://api.agentsky.dev/v1`
- URL: `https://api.agentsky.dev/v1/context/search`
- Auth: HTTP bearer

Searches one platform-owned source in the workspace your key is in. Restricted and delegated callers are refused. The consumer app's `/api/context/search` merges every source (including imports, artifacts and the Help Center) under the same grammar; use it to search everything at once. `q` is plain words (one case-insensitive substring, one hit per item), "an exact phrase" (case-sensitive, every matching line) or /a regex/ with optional i, s or u flags (every matching line). Nested repetition and backreferences are refused, and a pattern stops at a time budget with partial=true. Each hit carries `path` (such as `skills/review/SKILL.md`) and, for a match in the text, its 1-based `line`. Results are in stable source order, not a relevance ranking. Follow nextCursor until null and inspect partial/coverage before concluding no match exists. Memory entries have no per-entry timestamps, so their coverage reports that time filtering does not apply.

## Query parameters

- `q` string, required
- `scope` 'memory' | 'sessions' | 'traces' | 'notes' | 'files' | 'meetings' | 'skills' | 'agents', required
- `path` string
- `limit` integer
- `cursor` string
- `since` string, date-time
- `until` string, date-time

## Response `200`

A bounded source page, with continuation and coverage.

- object
  - `hits` object[], required
    - `hit` object, required
      - `source` 'memory' | 'notes' | 'sessions' | 'imports' | 'traces' | 'artifacts' | 'files' | 'meetings' | 'skills' | 'agents' | 'docs', required
      - `id` string, required
      - `title` string, required
      - `snippet` string, required
      - `occurredAt` string
      - `path` string
      - `line` integer
      - `ref` union, required
        - object
          - `kind` 'memory', required
          - `index` integer, required
          - `version` string, nullable, required
        - object
          - `kind` 'session_message', required
          - `sessionId` string, required
          - `messageId` string, required
        - object
          - `kind` 'import_event', required
          - `traceId` string, required
          - `seq` integer, required
        - object
          - `kind` 'artifact', required
          - `artifactId` string, required
          - `version` integer, required
        - object
          - `kind` 'trace_message', required
          - `traceId` string, required
          - `seq` integer, required
        - object
          - `kind` 'memory_note', required
          - `storeId` string, required
          - `memoryId` string, required
        - object
          - `kind` 'file', required
          - `fileId` string, required
        - object
          - `kind` 'skill_file', required
          - `skillId` string, required
          - `revisionId` string, required
          - `path` string, required
        - object
          - `kind` 'agent', required
          - `agentId` string, required
        - object
          - `kind` 'doc', required
          - `slug` string, required
      - `citation` string
    - `cursor` string, required
  - `nextCursor` string, nullable, required
  - `coverage` string, required
  - `partial` boolean

## Other responses

- `400`: Invalid query, source reference, cursor or text offset
- `401`: Authentication required
- `403`: The caller lacks personal-context authority or read scope
- `default`: Error — { error: { code, message, request_id } }

## Changes

- **2026-11-02** `e5e8f0229a99`: 1 breaking, 7 warning, 12 info
  - added `subschema #5, subschema #6, subschema #7, subschema #8, subschema #9, subschema #10` to the `hits/items/hit/ref` response property `oneOf` list for the response status `200`
  - added the new `agents` enum value to the `hits/items/hit/source` response property for the response status `200`
  - added the new `docs` enum value to the `hits/items/hit/source` response property for the response status `200`
  - added the new `files` enum value to the `hits/items/hit/source` response property for the response status `200`
  - …16 more

[Operation history](https://skmtc.dev/agentsky/apis/agentsky-developer-api/changes/context/search/get.md)

---

[API](https://skmtc.dev/agentsky/apis/agentsky-developer-api.md) - [All operations](https://skmtc.dev/agentsky/apis/agentsky-developer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/agentsky/apis/agentsky-developer-api/revisions/0d435187cd55?raw)
