> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ariacompute.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# 列出符号 - GET /v1/workspaces/:workspace_id/code-repos/:repo_id/symbols

> 通过 GET /v1/workspaces/:workspace_id/code-repos/:repo_id/symbols 返回仓库解析出的符号，可按文件过滤。最小角色 viewer。

返回代码仓库解析出的符号（函数 / 类 / 方法 / 变量）。可用 `file` 查询参数限定某文件。

## 接口

```http theme={null}
GET /v1/workspaces/:workspace_id/code-repos/:repo_id/symbols
```

## 认证

`Authorization: Bearer <jwt>` 或 `X-API-Key <sk_...>`。最小角色：**viewer**。

## 路径参数

<ParamField path="workspace_id" type="string" required>
  工作空间 id。
</ParamField>

<ParamField path="repo_id" type="string" required>
  仓库 id。
</ParamField>

## 查询参数

<ParamField query="file" type="string">
  仅返回该文件路径下的符号。
</ParamField>

## 响应

响应为一个数组，每个元素为符号：

<ResponseField name="id" type="string">
  符号 id（`sym_...`）。
</ResponseField>

<ResponseField name="repo_id" type="string">
  所属仓库 id。
</ResponseField>

<ResponseField name="workspace_id" type="string">
  所属工作空间 id。
</ResponseField>

<ResponseField name="file_path" type="string">
  符号所在文件路径。
</ResponseField>

<ResponseField name="name" type="string">
  符号名。
</ResponseField>

<ResponseField name="kind" type="string">
  符号类型（`function` / `class` / `method` / `variable`）。
</ResponseField>

<ResponseField name="signature" type="string">
  签名。
</ResponseField>

<ResponseField name="content" type="string">
  符号源码内容。
</ResponseField>

<ResponseField name="line_start" type="integer">
  起始行。
</ResponseField>

<ResponseField name="line_end" type="integer">
  结束行。
</ResponseField>

## 示例

<RequestExample>
  ```bash cURL theme={null}
  curl "https://memo.ariacompute.cn/v1/workspaces/ws_01a2b3c4d5e6/code-repos/repo_01a2b3c4d5e6/symbols?file=internal/api/api.go" \
    -H "Authorization: Bearer <jwt>"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  [
    {
      "id": "sym_01a2b3c4d5e6",
      "repo_id": "repo_01a2b3c4d5e6",
      "workspace_id": "ws_01a2b3c4d5e6",
      "file_path": "internal/api/api.go",
      "name": "RegisterRoutes",
      "kind": "function",
      "signature": "func RegisterRoutes(r *gin.Engine, s *Services)",
      "content": "func RegisterRoutes(...) { ... }",
      "line_start": 50,
      "line_end": 129
    }
  ]
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.