openapi: 3.0.3
info:
  title: 感情パラメータ一覧の取得
  version: v1
  description: |
    感情パラメータの一覧を取得するためのAPIです。

    感情分析を利用する方法は、[感情分析](/amivoice-api/manual/sentiment-analysis)を参照してください。

servers:
  - url: https://acp-dsrpp.amivoice.com

tags:
  - name: sentiment-analysis
    x-displayName: 感情パラメータ一覧の取得

paths:
  /v1/sentiment-analysis/{language}/result-parameters.json:
    get:
      tags:
        - sentiment-analysis
      summary: 感情パラメータ一覧の取得
      operationId: listSentimentAnalysisParameters
      security:
        - bearerAuth: []
      description: |
        感情パラメータの一覧を取得します。
      parameters:
        - name: language
          in: path
          required: true
          description: |
            言語コード

            表示のための言語コードを指定します。現在対応しているのは、`ja`のみです。
          schema:
            type: string
            enum:
              - ja
            example: ja
      responses:
        "200":
          description: |
            JSONでフォーマットした感情分析結果のパラメータを返します。

            パラメータ毎の説明は、以下の項目のデータが感情パラメータごとに配列形式で得られます。

            | パラメータ | 説明 |
            | ------------ | ------------------------------------------ |
            | name | 感情分析結果のレスポンスに含まれる名前 |
            | display_name | マニュアルに記載されている感情パラメータ名 |
            | minimum | 最小値 |
            | maximum | 最大値 |
          content:
            application/json:
              schema:
                type: object
                properties:
                  sentiment_analysis:
                    type: object
                    properties:
                      result_parameters:
                        type: object
                        properties:
                          display_language:
                            type: string
                            description: 表示用の言語
                            example: ja
                          definitions:
                            type: array
                            description: パラメータ毎の説明
                            items:
                              type: object
                              properties:
                                name:
                                  type: string
                                  description: 感情分析結果のレスポンスに含まれる名前
                                display_name:
                                  type: string
                                  description: マニュアルに記載されている感情パラメータ名
                                minimum:
                                  type: number
                                  description: 最小値
                                maximum:
                                  type: number
                                  description: 最大値
        "400":
          description: |
            リクエストが不正な場合に返されます。

            | エラーメッセージ | エラーの状況 |
            |---|---|
            | No authorization header | Authorization ヘッダが設定されていない |
            | Invalid authentication credentials | トークンが設定されていない |
            | Invalid authorization header format | Authorization ヘッダのフォーマットが不正 |
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessage"
              example:
                message: "No authorization header"
        "401":
          description: |
            認証に失敗した場合に返されます。

            | エラーメッセージ | エラーの状況 |
            |---|---|
            | Failed to authorize for the app_key | 指定された API キーによる認証が失敗 |
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorMessage"
              example:
                message: "Failed to authorize for the app_key"

components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: |
        API キーを`Authorization`ヘッダーに指定してください。

        ```text
        Authorization: Bearer {APIキー}
        ```
  schemas:
    ErrorMessage:
      type: object
      title: エラーレスポンス
      properties:
        message:
          type: string
          description: エラーメッセージ
