{
  "opencollection": "1.0.0",
  "info": {
    "name": "DataGol AI Conversation File Upload API",
    "version": "1.0.36"
  },
  "items": [
    {
      "info": {
        "name": "Conversation File Upload",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Post Conversation File",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/ai/api/v2/conversation-files",
            "body": {
              "type": "multipart-form",
              "data": []
            }
          },
          "docs": "Upload a file. Returns immediately with status=INDEXING.\nPoll GET /{conversation_file_id}/status to check progress."
        },
        {
          "info": {
            "name": "Post Conversation Files Status Bulk",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/ai/api/v2/conversation-files/status",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Poll indexing status for many files at once. Response order matches the request.\nEach element is either the same shape as GET /{id}/status, or\n{\"conversation_file_id\": \"...\", \"error\": \"not_found\"} for missing or inactive ids."
        },
        {
          "info": {
            "name": "Get Status",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/ai/api/v2/conversation-files/:conversation_file_id/status",
            "params": [
              {
                "name": "conversation_file_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Poll indexing status. Once status=INDEXED, the response includes\nfilename, s3_key, chunks_indexed, and a presigned download_url."
        },
        {
          "info": {
            "name": "Post Conversation Files Query",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/ai/api/v2/conversation-files/query",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Answer a question using only the content of the specified uploaded files."
        },
        {
          "info": {
            "name": "Get Preview Url",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/ai/api/v2/conversation-files/:conversation_file_id/view",
            "params": [
              {
                "name": "conversation_file_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Return a short-lived presigned URL (1 hour) with inline content-disposition\nso the file can be rendered directly in the browser without forcing a download.\nRequires status=INDEXED.\n\nAuth: use Authorization as elsewhere, or pass the same JWT as query param\n``access_token`` (raw token or ``Bearer <token>``) when the client cannot set headers."
        },
        {
          "info": {
            "name": "Delete Conversation File Route",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/ai/api/v2/conversation-files/:conversation_file_id",
            "params": [
              {
                "name": "conversation_file_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Delete all indexed chunks for a conversation file."
        }
      ]
    }
  ],
  "bundled": true
}