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

> ## Agent Instructions
> PawSQL 是一个产品：Cloud 是公网部署形态，Engine / Optimizer / Auditor / Advisor / Patroller 是同一产品的组件与交付形态，不是彼此独立的产品。 / PawSQL is a single product: Cloud is the public deployment form, while Engine / Optimizer / Auditor / Advisor / Patroller are components and delivery forms of the same product, not separate products.
> 术语以站内术语表为准：SQL 审核对应英文 SQL Review，查询重写对应 Query Rewrite，索引推荐对应 Index Recommendation；英文内容统一用 Review，不用 Audit。 / Use the site glossary for terminology: 审核 is SQL Review, 重写 is Query Rewrite, 索引推荐 is Index Recommendation; English content uses Review, never Audit.
> 引用能力范围或版本支持时以对应页面为准；标注 unknown、或 status 非 published 的内容表示尚未经产品核实，不应作为事实引用。 / Cite capability scope and version support from the corresponding page; content marked unknown, or with a status other than published, is not yet product-verified and must not be cited as fact.

# 获取 UserKey

> 通过邮箱和密码登录，获取 userKey（激活码），用于后续 API 调用的身份认证。



## OpenAPI

````yaml /openapi/pawsql-optimization.yaml post /getUserKey
openapi: 3.0.3
info:
  title: PawSQL 优化服务
  description: |
    PawSQL SQL 优化服务对外接口。

    PawSQL 优化引擎是为开发者和 DBA 开发的查询优化引擎，集成了数据库行业的查询优化最佳实践，
    提供强大的 SQL 审核和重写优化功能，并集成 Paw Index Advisor 索引推荐引擎为慢查询提供基于成本的索引推荐。

    ## 认证方式

    大部分接口需要通过 `userKey`（激活码）进行身份认证。
    `userKey` 可通过 `/getUserKey` 接口（邮箱密码登录）获取。

    ## 接口调用流程

    1. 调用 `/getUserKey` 获取 userKey
    2. 调用 `/createWorkspace` 创建工作空间（或直接在 `/createAnalysis` 中传入 DDL）
    3. 调用 `/createAnalysis` 或 `/createAnalysisAsync` 创建优化任务
    4. 调用 `/getAnalysisSummary` 获取优化汇总
    5. 调用 `/getStatementDetails` 获取单条 SQL 优化详情
  version: 1.0.0
  contact:
    name: PawSQL Team
    url: https://pawsql.com
  license:
    name: PawSQL
    url: https://pawsql.com
servers:
  - url: /api/v1
    description: PawSQL Server
security:
  - userKey: []
tags:
  - name: 身份认证
    description: 身份认证接口
  - name: 工作空间
    description: 工作空间管理接口
  - name: SQL优化
    description: SQL 优化任务接口
paths:
  /getUserKey:
    post:
      tags:
        - 身份认证
      summary: 获取 UserKey
      description: 通过邮箱和密码登录，获取 userKey（激活码），用于后续 API 调用的身份认证。
      operationId: getUserKey
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoginRequestBody'
            examples:
              example:
                value:
                  email: user@example.com
                  password: yourpassword
      responses:
        '200':
          description: 成功返回 userKey
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ApiResult'
                  - type: object
                    properties:
                      data:
                        type: string
                        description: userKey 字符串
                        example: CB698418-88B25371-67F15F01-XXXXXXXX
              examples:
                success:
                  value:
                    code: 200
                    message: Success
                    data: CB698418-88B25371-67F15F01-XXXXXXXX
                failure:
                  value:
                    code: 400
                    message: 邮箱或密码错误
                    data: null
      security: []
components:
  schemas:
    LoginRequestBody:
      type: object
      description: 登录请求
      required:
        - email
        - password
      properties:
        email:
          type: string
          description: 注册邮箱
          example: user@example.com
        password:
          type: string
          description: 登录密码
          example: yourpassword
    ApiResult:
      type: object
      description: 统一响应体
      properties:
        code:
          type: integer
          description: 状态码，200 表示成功
          example: 200
        message:
          type: string
          description: 描述信息
          example: Success
        data:
          description: 响应数据
  securitySchemes:
    userKey:
      type: apiKey
      in: header
      name: userKey
      description: 激活码，通过 /getUserKey 接口获取

````