Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
232 changes: 230 additions & 2 deletions api-reference/openapi.en.json
Original file line numberDiff line numberDiff line change
Expand Up@@ -16342,7 +16342,7 @@
"RUM/Issues"
],
"x-mint": {
"content": "## Restrictions\n\n| Aspect | Value |\n| ------ | ----- |\n| Rate limits | **1,000 requests/minute**; **50 requests/second** per account |\n| Permissions | None — any valid `app_key` can call this operation |\n\n## Usage\n\n- `start_time` and `end_time` are millisecond timestamps. Maximum range: 183 days.\n- `statuses` filters by issue status. Valid values: `for_review`, `reviewed`, `ignored`, `resolved`.\n- `orderby` accepts: `created_at`, `updated_at`, `session_count`, `error_count`.\n- Use `dql` or `sql` for advanced filtering. Cannot provide both.",
"content": "## Restrictions\n\n| Aspect | Value |\n| ------ | ----- |\n| Rate limits | **1,000 requests/minute**; **50 requests/second** per account |\n| Permissions | None — any valid `app_key` can call this operation |\n\n## Usage\n\n- `start_time` and `end_time` are millisecond timestamps. Maximum range: 183 days.\n- `statuses` filters by issue status. Valid values: `for_review`, `reviewed`, `ignored`, `resolved`.\n- `orderby` accepts: `created_at`, `updated_at`, `session_count`, `error_count`, `severity`.\n- Use `dql` or `sql` for advanced filtering. Cannot provide both.",
"href": "/en/api-reference/rum/issues/rum-issue-read-list",
"metadata": {
"sidebarTitle": "List issues"
Expand DownExpand Up@@ -16494,6 +16494,96 @@
}
}
},
"/rum/issue/export": {
"post": {
"operationId": "rum-issue-read-export",
"summary": "Export issues as CSV",
"description": "Export the filtered RUM error tracking issues as a CSV file. The response is a `text/csv` stream delivered with `Content-Disposition: attachment` — it is not a JSON envelope; non-console callers can read the `X-Export-Total` and `X-Export-Truncated` response headers.",
"tags": [
"RUM/Issues"
],
"x-mint": {
"content": "## Restrictions\n\n| Aspect | Value |\n| ------ | ----- |\n| Rate limits | **200 requests/day**; **100 requests/minute**; **10 requests/second** per account |\n| Permissions | None — any valid `app_key` can call this operation |\n\n## Usage\n\n- The response is a `text/csv` stream delivered with `Content-Disposition: attachment` — it is not wrapped in the standard envelope. The filename is `rum-issues-<timestamp>.csv`, stamped in the requested `time_zone`. Read `X-Export-Total` and `X-Export-Truncated` response headers instead of a body field.\n- The export reads the first 100 matching rows (`ExportMaxRows`); `X-Export-Truncated` is `true` when more issues match. `p` and `limit` are ignored.\n- The request filters are exactly those of `POST /rum/issue/list` — an export is \"what I am looking at, as a file\".\n- `export_fields` names the CSV columns in the order they appear. Unknown keys are rejected with a parameter error; an empty array uses the default column set.\n- `time_zone` must be a valid IANA zone name (e.g. `Asia/Shanghai`, `UTC`); timestamps are rendered in that zone and time columns carry the zone in their header. Invalid names are rejected.\n- `console_origin` is used to build the `issue_url` column; the service cannot infer it (SaaS, on-premises and dev releases answer on different origins).\n- Every call is recorded in the account's audit log with the caller's member ID, request payload, and resulting error (if any). Do not put secrets in request fields.",
"href": "/en/api-reference/rum/issues/rum-issue-read-export",
"metadata": {
"sidebarTitle": "Export issues as CSV"
}
},
"responses": {
"200": {
"description": "Success. CSV attachment, not a JSON envelope.",
"headers": {
"X-Export-Total": {
"description": "Total number of issues matching the filters, before the row cap.",
"schema": {
"type": "integer",
"format": "int64"
}
},
"X-Export-Truncated": {
"description": "`true` when more issues matched than the 100-row cap and the file was truncated.",
"schema": {
"type": "boolean"
}
}
},
"content": {
"text/csv": {
"schema": {
"type": "string",
"description": "CSV file content. The header row matches the exported columns in order; values are sanitized against spreadsheet formula injection."
},
"example": "Issue ID,Error type,Error message,Status,Error count,Affected sessions,Last seen (Asia/Shanghai)\nNHEacQHi2DhXqobr9qPQz9,Error,Script error.,for_review,752,381,2026-04-12 10:43:59\nH8kZSmxiE7EgdyD4fCyyNa,Error,\"API ERROR: We encountered an internal error | POST /api/access/logout\",for_review,3,1,2026-04-03 12:41:24"
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"429": {
"$ref": "#/components/responses/TooManyRequests"
},
"500": {
"$ref": "#/components/responses/ServerError"
}
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RumIssueExportRequest"
},
"example": {
"start_time": 1772611200000,
"end_time": 1775961914595,
"application_ids": [
"eWbr4xk3ZRnLabRa6unqwD"
],
"statuses": [
"for_review"
],
"orderby": "updated_at",
"export_fields": [
"issue_id",
"error_type",
"error_message",
"status",
"error_count",
"session_count",
"last_seen_at"
],
"console_origin": "https://console.flashcat.cloud",
"time_zone": "Asia/Shanghai"
}
}
}
}
}
},
"/rum/issue/update": {
"post": {
"operationId": "rum-issue-write-update",
Expand DownExpand Up@@ -45482,6 +45572,143 @@
}
}
},
"RumIssueExportRequest": {
"type": "object",
"required": [
"start_time",
"end_time"
],
"description": "Filters for exporting RUM error tracking issues to CSV.",
"properties": {
"start_time": {
"type": "integer",
"format": "int64",
"description": "Start of the time range, Unix epoch milliseconds."
},
"end_time": {
"type": "integer",
"format": "int64",
"description": "End of time range, millisecond timestamp. Maximum range: 183 days."
},
"application_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter by application IDs. Get IDs via `POST /rum/application/list`."
},
"dql": {
"type": "string",
"description": "DQL query for advanced filtering. Cannot be used with `sql`."
},
"sql": {
"type": "string",
"description": "SQL-style query for advanced filtering. Cannot be used with `dql`."
},
"statuses": {
"type": "array",
"items": {
"type": "string",
"enum": [
"for_review",
"reviewed",
"ignored",
"resolved"
]
},
"description": "Filter by status; only the enum values are accepted — any other value is rejected with a parameter error."
},
"suspected_causes": {
"type": "array",
"items": {
"type": "string",
"enum": [
"api.failed_request",
"network.error",
"code.exception",
"code.invalid_object_access",
"code.invalid_argument",
"unknown"
]
},
"description": "Filter by suspected cause; see the enum for valid values."
},
"team_ids": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"description": "Filter by team IDs. Get team IDs via `POST /team/list`."
},
"p": {
"type": "integer",
"description": "Page number (1-based). Ignored by the export — the first 100 matching rows are always read."
},
"limit": {
"type": "integer",
"description": "Page size (1–100). Ignored by the export — the row cap is fixed at 100."
},
"orderby": {
"type": "string",
"enum": [
"created_at",
"updated_at",
"session_count",
"error_count",
"severity"
],
"description": "Sort field; defaults to `updated_at` when omitted."
},
"asc": {
"type": "boolean",
"description": "Sort ascending when `true`; descending by default."
},
"error_required": {
"type": "boolean",
"description": "If `true`, only export issues with at least one associated error event."
},
"by_intersection": {
"type": "boolean",
"description": "When `true`, match by time-range overlap: export issues still active within the window (`last_seen_timestamp` >= `start_time`) even if created before it. Default `false` exports only issues created inside the window."
},
"export_fields": {
"type": "array",
"items": {
"type": "string",
"enum": [
"issue_id",
"issue_url",
"application_name",
"service",
"error_type",
"error_message",
"status",
"severity",
"is_crash",
"error_count",
"session_count",
"first_seen_at",
"first_seen_version",
"last_seen_at",
"last_seen_version",
"versions",
"suspected_cause",
"resolved_at"
]
},
"description": "CSV columns to export, in the order they appear. Unknown keys are rejected with a parameter error; an empty array uses the default column set."
},
"console_origin": {
"type": "string",
"description": "Console origin used to build the `issue_url` column, e.g. `https://console.flashcat.cloud`. The service cannot infer it (SaaS, on-premises and dev releases answer on different origins)."
},
"time_zone": {
"type": "string",
"description": "IANA time zone used to render timestamps in the CSV, e.g. `Asia/Shanghai` or `UTC`. Default: `Asia/Shanghai`."
}
}
},
"RumIssueItem": {
"type": "object",
"description": "A RUM error tracking issue.",
Expand DownExpand Up@@ -45751,7 +45978,8 @@
"created_at",
"updated_at",
"session_count",
"error_count"
"error_count",
"severity"
],
"description": "Sort field; defaults to `updated_at` when omitted."
},
Expand Down
Loading
Loading