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

# フィードバックを送信

> APIが間違った結果を返したときに教えてください。クレジットは消費されません。

結果が間違っていたり、不完全だったり、遅かったり、失敗したり、ドキュメントと一致しなかった場合にこのエンドポイントを使用してください。これは、エージェントによっても人によっても呼び出されることを目的としています。パイプラインが悪い結果を検出したとき、その結果がどのリクエストに由来するかを追跡できるように、オブジェクトの`id`を使って報告してください。

フィードバックの送信は無料で、チームのクレジットが尽きた場合でも機能します。

## 送信する内容

| フィールド | 必須 | 備考 |
| - | - | - |
| `category` | はい | `output_quality`, `reliability`, `performance`, `documentation`, `api_usability`, `feature_gap`, `other` のいずれか |
| `note` | はい | 何が問題だったのか、代わりに何を期待していたのか、最大4,000文字まで |
| `issues` | いいえ | 最大20個の`snake_case`症状コード、例：`missing_content`または`timeout`。ドキュメント化されたコードはスキーマに記載されています。同じ形式の他のコードも受け入れられます |
| `affected_endpoint` | いいえ | `METHOD /path`、例：`POST /v1/scrapes` |
| `related_object_id` | いいえ | フィードバックに関するスクレイプ、バッチ、クロール、回答、その他のオブジェクトの`id`、または呼び出しが失敗した場合の`error_…` id |
| `url` | いいえ | フィードバックに関するページ、例：スクレイプされたURL |

## 例

```bash cURL theme={null}
curl -X POST https://api.olostep.com/v1/feedbacks \
  -H "Authorization: Bearer <your_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "category": "output_quality",
    "issues": ["missing_content", "broken_formatting"],
    "note": "マークダウンが価格比較表を落としてしまいました。期待していたのはすべての4行です。",
    "affected_endpoint": "POST /v1/scrapes",
    "related_object_id": "scrape_abc1234567",
    "url": "https://example.com/pricing"
  }'
```

レスポンスは`id`と`created_at`を含む保存された`feedback`オブジェクトです。まだリストまたは取得エンドポイントはありません。フィードバックは私たちの側で読み取られます。


## OpenAPI

````yaml ja/openapi/feedbacks.json POST /v1/feedbacks
openapi: 3.0.3
info:
  title: フィードバック API
  version: 1.0.0
  description: >-
    Olostep API に関する問題を報告する:
    出力が間違っている、または不完全、失敗、ドキュメントの不一致、または機能が欠けている。クレジットはかかりません。
servers:
  - url: https://api.olostep.com
security:
  - Authorization: []
paths:
  /v1/feedbacks:
    post:
      summary: フィードバックを送信
      description: API に関する問題を報告する。フィードバックが関係するオブジェクトの id がある場合は含めてください。クレジットはかかりません。
      operationId: createFeedback
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeedbackCreateRequest'
      responses:
        '200':
          description: 保存されたフィードバック。
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Feedback'
        '400':
          description: 本文が無効です。
        '401':
          description: API キーが欠落しているか無効です。
components:
  schemas:
    FeedbackCreateRequest:
      type: object
      required:
        - category
        - note
      properties:
        category:
          type: string
          enum:
            - output_quality
            - reliability
            - performance
            - documentation
            - api_usability
            - feature_gap
            - other
          description: フィードバックの大まかな理由。
        note:
          type: string
          minLength: 1
          maxLength: 4000
          description: 何がうまくいかなかったか、そして代わりに何を期待していたか。
          example: >-
            The markdown drops the pricing comparison table; expected all 4
            rows.
        issues:
          type: array
          maxItems: 20
          items:
            type: string
            pattern: ^[a-z0-9](?:[a-z0-9_]{0,78}[a-z0-9])?$
          description: >-
            小文字のスネークケースコードとしての具体的な症状。文書化されたコード: missing_content,
            incorrect_content, incomplete_content, broken_formatting,
            irrelevant_results, duplicate_results, stale_content,
            request_failed, timeout, slow_response, inconsistent_result,
            docs_mismatch, broken_example, confusing_schema, confusing_error,
            unsupported_website, unsupported_format。同じ形の他のコードも受け付けます。
          example:
            - missing_content
            - broken_formatting
        affected_endpoint:
          type: string
          minLength: 1
          maxLength: 200
          description: フィードバックが関係するエンドポイントを `METHOD /path` として、標準的な複数形のパスで。
          example: POST /v1/scrapes
        related_object_id:
          type: string
          minLength: 1
          maxLength: 128
          description: >-
            フィードバックが関係する API が返したオブジェクトの id: scrape_…、batch_… または類似のリソース
            id、または呼び出しが失敗したときのエラーオブジェクトの id (error_…)。
          example: scrape_abc1234567
        url:
          type: string
          format: uri
          maxLength: 2048
          description: フィードバックが関係するページ、例えばスクレイピングされた URL。
          example: https://example.com/pricing
    Feedback:
      type: object
      required:
        - object
        - id
        - category
        - issues
        - note
        - created_at
      properties:
        object:
          type: string
          enum:
            - feedback
        id:
          type: string
          example: feedback_019e70f9-214a-74fc-a1ae-26fd3318be3e
        category:
          type: string
        issues:
          type: array
          items:
            type: string
        note:
          type: string
        affected_endpoint:
          type: string
        related_object_id:
          type: string
        url:
          type: string
        created_at:
          type: string
          format: date-time
          example: '2026-10-23T00:00:00.000Z'
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer
      description: Bearer認証ヘッダーの形式はBearer <token>で、<token>はあなたの認証トークンです。

````

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