{
  "opencollection": "1.0.0",
  "info": {
    "name": "Curated for You Chronicle Feedback API",
    "version": "2.0.1"
  },
  "items": [
    {
      "info": {
        "name": "Feedback",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "List pending AI feedback cards for a curation",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/v2/feedback/",
            "headers": [
              {
                "name": "authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "curation_id",
                "value": "",
                "type": "query",
                "description": "Curation ID to fetch feedback for"
              },
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "Page number"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Items per page (max 100)"
              }
            ]
          },
          "docs": "Return pending AI feedback cards for the given curation.\n\n**Auth:** Regular user JWT with `org:curations:read` permission.\n\n`action_context` is never included in the response."
        },
        {
          "info": {
            "name": "Ingest AI feedback card (M2M only)",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/v2/feedback/",
            "headers": [
              {
                "name": "authorization",
                "value": ""
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Ingest a new AI feedback card.\n\n**Auth:** Clerk M2M token only. Regular user JWTs receive 403.\n\nAuto-populates `curation_group_number`, `company_id`, and `product_ids`\nfrom the curation record and blocks payload.\n\n**Response 201:** `{id, curation_id, curation_group_number, created_at}`"
        },
        {
          "info": {
            "name": "Execute an action on an AI feedback card",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/v2/feedback/:feedback_id/execute-action",
            "headers": [
              {
                "name": "authorization",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "feedback_id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Execute an action on an AI feedback card.\n\n**Auth:** Regular user JWT with `org:curations:manage` permission.\n\n| `action_id`            | Behaviour                                          |\n|------------------------|----------------------------------------------------|\n| `dismiss`              | Sets `status=resolved` and `resolved_at`           |\n| `apply_rules`          | Patches linked `CurationBrief` and resolves card   |\n| `apply_product_swap`   | Swaps product at expected position and res"
        }
      ]
    }
  ],
  "bundled": true
}