---
title: Dokploy API
description: 如何与 Dokploy API 进行交互，面向管理员和用户
---

在某些情况下，您可能需要直接与 Dokploy API 进行交互。以下是管理员和用户如何做到这一点的指南。

## 对于管理员

1. 通过访问 `your-vps-ip:3000/swagger` 进入 Swagger UI。
2. 使用 Swagger 界面与 API 进行交互。
3. 默认情况下，Swagger UI 的访问受到限制，只有经过身份验证的管理员才能访问 API。

## 对于用户

1. 默认情况下，用户无法直接访问 API。
2. 管理员可以授予用户以下访问权限：
   - 生成访问令牌
   - 访问 Swagger UI
3. 如果您需要访问权限，请联系您的管理员。

注意：API 提供了高级功能。确保您理解所执行的操作，以避免对系统造成意外更改。

## 用法

默认情况下，OpenApi 基础 URL 为 `http://localhost:3000/api`，您需要将其替换为 Dokploy 实例的 IP 或域名。

### 身份验证

API 使用 JWT 令牌进行身份验证。您可以通过访问 `/settings/profile` 页面并进入 API/CLI 部分生成令牌。

以下是一个经过身份验证的请求示例：
```bash
curl -X 'GET' \
  'https://dokploy.com/api/project.all' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer YOUR-TOKEN'
```
然后您将收到类似以下内容的响应：

```json
[
  {
    "projectId": "klZKsyw5g-QT_jrWJ5T-w",
    "name": "随机",
    "description": "",
    "createdAt": "2024-06-19T15:05:58.785Z",
    "adminId": "_WrKZbs7iJAA3p4N2Yfyu",
    "applications": [],
    "mariadb": [],
    "mongo": [],
    "mysql": [
      {
        "mysqlId": "N3cudwO46TiDXzBm4SaQ1",
        "name": "mysql",
        "appName": "random-mysql-924715",
        "description": "",
        "databaseName": "mysql",
        "databaseUser": "mysql",
        "databasePassword": "h13BzO6y3KYSHaQg",
        "databaseRootPassword": "mM1b7JeoPA7jArxj",
        "dockerImage": "mysql:8",
        "command": null,
        "env": null,
        "memoryReservation": null,
        "memoryLimit": null,
        "cpuReservation": null,
        "cpuLimit": null,
        "externalPort": null,
        "applicationStatus": "完成",
        "createdAt": "2024-06-24T01:55:40.378Z",
        "projectId": "klZKsyw5g-QT_jrWJ5T-w"
      }
    ],
    "postgres": [],
    "redis": [
      {
        "redisId": "TtFK5S4QFaIjaNGOb8Ku-",
        "name": "redis",
        "appName": "random-redis-7eec62",
        "description": "",
        "databasePassword": "Yvb8gqClfomjcue8",
        "dockerImage": "redis:7",
        "command": null,
        "env": null,
        "memoryReservation": null,
        "memoryLimit": null,
        "cpuReservation": null,
        "cpuLimit": null,
        "externalPort": 6379,
        "createdAt": "2024-06-26T06:43:20.570Z",
        "applicationStatus": "完成",
        "projectId": "klZKsyw5g-QT_jrWJ5T-w"
      }
    ],
    "compose": []
  }
]
```