Grep
Search a repository without cloning it. Results are paginated and can include surrounding context lines so downstream tools only fetch the relevant slices.
JWT claims
Required scopes: git:read
Requires per repo scope: Yes
Authorizations
JWT bearer token signed with your organization's registered signing key. There is no OAuth authorization server; you mint tokens yourself and the token's scopes claim carries the granted permission scopes. Public scopes: git:read (read repository contents), git:write (write branches, commits, tags, and notes), repo:write (create and manage repositories), org:read (list an organization's repositories). Each operation's security requirement names the scopes it requires. See https://code.storage/docs/getting-started/authentication for how to mint tokens.
Path Parameters
Repository name. Names that contain / or any other character that is not safe in a URL path segment must be URL encoded so the value occupies a single path segment. For example pierre/example is sent as pierre%2Fexample. Plain names such as example can be sent as-is. The server URL-decodes the value before resolving the repository.
Body
Search repository contents by pattern. Optional file filters, context lines, and pagination let you retrieve only the relevant slices for agents and tools.
Grep request describing the pattern, ref, filters, limits, and pagination for a repository content search.
Pattern configuration.
Lines of context to include before and after each match.
Whether ref should be resolved from the ephemeral namespace.
Optional include and exclude filters applied before matching.
Maximum line and per-file match limits.
Cursor-based pagination controls for large result sets.
Optional path prefixes used to narrow the search before pattern matching.
Repository-relative path used to scope the operation.
Preferred branch, tag, or commit to search.
Deprecated: use ref. Legacy ref field retained for backwards compatibility.
"main"
Response
Search results for the requested pattern.
Grep results grouped per file, including the resolved ref and pagination state.
Whether additional matches remain.
true
True when the result set is incomplete because the server-side output cap was reached. Matches beyond the cap exist in the repo but cannot be retrieved by paging: narrow the query (pattern, paths, file filters) or raise max_lines if it was set below the maximum. next_cursor still pages through everything collected below the cap.
false
Files that matched the query, each with matching and context lines.
Opaque cursor for the next page, if any.
The effective query settings used by the server.
Resolved repository ref and commit used for the search.