{
  "openapi": "3.0.1",
  "info": {
    "title": "Sentry Issue Summarizer",
    "description": "Get AI-powered summaries of your Sentry errors with root cause analysis and fix suggestions. Reduce alert fatigue with intelligent daily/weekly digests.\nDaily/Weekly Digests\nAI Root Cause Analysis\nFix Suggestions: AI-generated fixes\nTrend Detection\nSlack Integration\nMulti-Project Support",
    "version": "1.2",
    "x-build-id": "ILbc4IFsKXLIGjIV6"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/alizarin_refrigerator-owner~sentry-issue-summarizer/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-alizarin_refrigerator-owner-sentry-issue-summarizer",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/alizarin_refrigerator-owner~sentry-issue-summarizer/runs": {
      "post": {
        "operationId": "runs-sync-alizarin_refrigerator-owner-sentry-issue-summarizer",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/alizarin_refrigerator-owner~sentry-issue-summarizer/run-sync": {
      "post": {
        "operationId": "run-sync-alizarin_refrigerator-owner-sentry-issue-summarizer",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "task"
        ],
        "properties": {
          "demoMode": {
            "title": "Demo Mode",
            "type": "boolean",
            "description": "ON returns labeled sample error data for testing (free, no credentials needed). OFF calls the real Sentry API when an auth token is provided. If the auth token is missing, the actor automatically falls back to the labeled no-charge sample output.",
            "default": false
          },
          "sentryAuthToken": {
            "title": "Sentry Auth Token",
            "type": "string",
            "description": "Your Sentry authentication token. Create at Settings > Auth Tokens with 'project:read' scope. If left empty, the actor returns labeled sample data and charges no task events."
          },
          "sentryOrg": {
            "title": "Sentry Organization",
            "type": "string",
            "description": "Your Sentry organization slug"
          },
          "sentryProject": {
            "title": "Sentry Project",
            "type": "string",
            "description": "Your Sentry project slug (or comma-separated list for multiple projects)"
          },
          "task": {
            "title": "Task",
            "enum": [
              "daily_digest",
              "weekly_digest",
              "analyze_issue",
              "trending_errors",
              "regression_check",
              "fix_suggestions"
            ],
            "type": "string",
            "description": "What analysis to perform",
            "default": "daily_digest"
          },
          "issueId": {
            "title": "Issue ID",
            "type": "string",
            "description": "Specific issue ID to analyze (for analyze_issue task)"
          },
          "timeRange": {
            "title": "Time Range",
            "enum": [
              "1h",
              "6h",
              "24h",
              "7d",
              "14d",
              "30d"
            ],
            "type": "string",
            "description": "Time range for analysis",
            "default": "24h"
          },
          "minLevel": {
            "title": "Minimum Level",
            "enum": [
              "debug",
              "info",
              "warning",
              "error",
              "fatal"
            ],
            "type": "string",
            "description": "Minimum error level to include",
            "default": "error"
          },
          "maxIssues": {
            "title": "Max Issues",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Maximum number of issues to analyze",
            "default": 25
          },
          "includeStackTraces": {
            "title": "Include Stack Traces",
            "type": "boolean",
            "description": "Include stack traces in AI analysis for better fix suggestions",
            "default": true
          },
          "groupByRelease": {
            "title": "Group by Release",
            "type": "boolean",
            "description": "Group issues by release version",
            "default": true
          },
          "aiProvider": {
            "title": "AI Provider",
            "enum": [
              "claude",
              "openai",
              "gemini"
            ],
            "type": "string",
            "description": "Which AI provider to use for summaries and fix suggestions",
            "default": "claude"
          },
          "claudeApiKey": {
            "title": "Claude API Key",
            "type": "string",
            "description": "Your Anthropic Claude API key"
          },
          "openaiApiKey": {
            "title": "OpenAI API Key",
            "type": "string",
            "description": "Your OpenAI API key"
          },
          "geminiApiKey": {
            "title": "Gemini API Key",
            "type": "string",
            "description": "Your Google Gemini API key"
          },
          "slackWebhook": {
            "title": "Slack Webhook URL",
            "type": "string",
            "description": "Send digest to Slack channel"
          },
          "webhookUrl": {
            "title": "Webhook URL",
            "type": "string",
            "description": "URL to receive a POST request when the actor run finishes"
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}