Skip to main content
POST
Grep

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

repo_name
string
required

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

application/json

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.

query
object
required

Pattern configuration.

rev
string
required

Legacy ref field retained for backwards compatibility. Prefer the ref field for new callers.

Example:

"main"

context
object

Lines of context to include before and after each match.

ephemeral
boolean

Whether ref should be resolved from the ephemeral namespace.

file_filters
object

Optional include and exclude filters applied before matching.

limits
object

Maximum line and per-file match limits.

pagination
object

Cursor-based pagination controls for large result sets.

paths
string[]

Optional path prefixes used to narrow the search before pattern matching.

Repository-relative path used to scope the operation.

ref
string

Preferred branch, tag, or commit to search.

Response

Search results for the requested pattern.

Grep results grouped per file, including the resolved ref and pagination state.

has_more
boolean
required

Whether additional matches remain.

Example:

true

incomplete_results
boolean
required

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.

Example:

false

matches
object[]
required

Files that matched the query, each with matching and context lines.

next_cursor
string | null
required

Opaque cursor for the next page, if any.

query
object
required

The effective query settings used by the server.

repo
object
required

Resolved repository ref and commit used for the search.