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

# 获取模板列表

## 请求头

<ParamField header="Authorization" type="string" required={true}>
  Bearer 身份验证格式，例如：Bearer \{\{API 密钥}}。
</ParamField>

## 查询参数

<ParamField query="pageSize" type="integer" required={false}>
  获取 x 条/页。整数，取值范围：大于等于 0。
</ParamField>

<ParamField query="pageNum" type="integer" required={false}>
  获取第 x 页。整数，取值范围：大于等于 0。
</ParamField>

<ParamField query="name" type="string" required={false}>
  筛选指定模板名称（支持模糊匹配）。长度：\[1-255]。
</ParamField>

<ParamField query="channel" type="string" required={true}>
  筛选模板分类。可选值：

  * `official`：官方模板
  * `community`：社区模板
  * `private`：私有模板
</ParamField>

<ParamField query="isMyCommunity" type="boolean" required={true}>
  模板可见性。查询官方、社区模板传 false；查询私有模板传 true。
</ParamField>

## 响应参数

<ResponseField name="template" type="object[]" required={true}>
  模板信息列表。

  <Expandable title="properties" defaultOpen={true}>
    <ResponseField name="Id" type="string" required={true}>
      模板唯一 ID。
    </ResponseField>

    <ResponseField name="name" type="string" required={true}>
      模板名称。
    </ResponseField>

    <ResponseField name="readme" type="string" required={false}>
      模板说明。
    </ResponseField>

    <ResponseField name="type" type="string" required={true}>
      模板类型，例如 `instance`。
    </ResponseField>

    <ResponseField name="channel" type="string" required={true}>
      模板分类：`official`、`community`、`private`。
    </ResponseField>

    <ResponseField name="image" type="string" required={true}>
      镜像地址。
    </ResponseField>

    <ResponseField name="imageAuth" type="string" required={false}>
      平台镜像认证 ID。
    </ResponseField>

    <ResponseField name="startCommand" type="string" required={false}>
      实例启动命令。
    </ResponseField>

    <ResponseField name="entrypoint" type="string" required={false}>
      实例启动 entrypoint。
    </ResponseField>

    <ResponseField name="rootfsSize" type="integer" required={true}>
      系统盘大小（GB）。
    </ResponseField>

    <ResponseField name="ports" type="object[]" required={false}>
      端口配置列表。
    </ResponseField>

    <ResponseField name="envs" type="object[]" required={false}>
      环境变量配置列表。
    </ResponseField>

    <ResponseField name="tools" type="object[]" required={false}>
      模板内置工具列表（仅官方模板有）。
    </ResponseField>

    <ResponseField name="createdAt" type="string" required={true}>
      模板创建时间戳（Unix 秒）。
    </ResponseField>

    <ResponseField name="recommendCards" type="object[]" required={false}>
      模板推荐的 GPU 卡规格信息（仅官方模板有）。
    </ResponseField>

    <ResponseField name="minCudaVersion" type="string" required={false}>
      模板要求的最低 CUDA 版本。
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="total" type="integer" required={true}>
  查询到的模板总数量。
</ResponseField>

## 示例

### 请求示例

```bash theme={null}
curl --location --request GET 'https://api.ppio.com/gpu-instance/openapi/v1/templates?pageSize=10&pageNum=1&name=test&channel=private&isMyCommunity=true' \
--header 'Authorization: Bearer {{API 密钥}}'
```

### 响应示例

```json theme={null}
{
  "template": [
    {
      "Id": "1",
      "name": "Pytorch:v2",
      "readme": "...",
      "type": "instance",
      "channel": "official",
      "image": "test-image.ppinfra.com/test-public/pytorch:v2",
      "imageAuth": "",
      "startCommand": "",
      "entrypoint": "",
      "rootfsSize": 100,
      "ports": [
        {"type": "http", "ports": [80]},
        {"type": "tcp", "ports": [7860]}
      ],
      "envs": [{"key": "test", "value": "template"}],
      "tools": [{"name": "Jupyter", "describe": "Start Jupyter Notebook", "port": 8888, "type": "http"}],
      "createdAt": "1715760544",
      "recommendCards": [{"gpuSpecId": "4090.18c.60g", "cardNum": "2"}],
      "minCudaVersion": "11.8"
    }
  ],
  "total": 12
}
```
