diff --git a/package.json b/package.json
index ab0469cc..7ea041ef 100644
--- a/package.json
+++ b/package.json
@@ -44,7 +44,8 @@
"test:coverage:ci": "vitest --coverage --reporter=verbose",
"test:run": "vitest run",
"coverage:check": "vitest --coverage --reporter=verbose --config vitest.config.coverage.ts",
- "bump": "node scripts/bump.js"
+ "bump": "node scripts/bump.js",
+ "update:bugsnag-api": "tsx scripts/update-bugsnag-api.ts"
},
"dependencies": {
"@bugsnag/js": "^8.8.1",
diff --git a/scripts/update-bugsnag-api.ts b/scripts/update-bugsnag-api.ts
new file mode 100644
index 00000000..779985fc
--- /dev/null
+++ b/scripts/update-bugsnag-api.ts
@@ -0,0 +1,205 @@
+import { execSync } from "child_process";
+import * as fs from "fs";
+import * as path from "path";
+import { Node, Project, SyntaxKind } from "ts-morph";
+
+const API_FILE_PATH = "src/bugsnag/client/api/api.ts";
+
+const HEADER_COMMENT = `/** biome-ignore-all lint/complexity/useLiteralKeys: auto-generated code */
+/** biome-ignore-all lint/correctness/noUnusedVariables: auto-generated code */
+/** biome-ignore-all lint/complexity/useOptionalChain: auto-generated code */
+/** biome-ignore-all lint/style/useLiteralEnumMembers: auto-generated code */
+/** biome-ignore-all lint/suspicious/noEmptyInterface: auto-generated code */
+// tslint:disable
+/**
+ * BugSnag - Data Access API
+ *
+ * The following code is auto generated by the swagger code generator program.
+ * https://github.com/swagger-api/swagger-codegen.git
+ *
+ * To update:
+ * 1. Run \`npm run update:bugsnag\` to automatically download and prune unused code
+ * 2. Check \`git diff\` to ensure the changes are correct
+ */
+
+import * as url from "node:url";
+import type { Configuration } from "./configuration";
+`;
+
+async function downloadAndExtractApi() {
+ console.log("Fetching Swagger spec from SmartBear...");
+ const specResponse = await fetch(
+ "https://api.swaggerhub.com/apis/smartbear-public/bugsnag-data-access-api/2/swagger.json",
+ );
+ if (!specResponse.ok) {
+ throw new Error(`Failed to fetch spec: ${specResponse.statusText}`);
+ }
+ const specJson = await specResponse.json();
+
+ console.log(
+ "Requesting TypeScript client generation from Swagger Generator...",
+ );
+ const genResponse = await fetch(
+ "https://generator.swagger.io/api/gen/clients/typescript-fetch",
+ {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ Accept: "application/json",
+ },
+ body: JSON.stringify({
+ options: { modelPropertyNaming: "original" },
+ spec: specJson,
+ }),
+ },
+ );
+
+ if (!genResponse.ok) {
+ throw new Error(`Failed to generate client: ${genResponse.statusText}`);
+ }
+
+ const { link } = await genResponse.json();
+ if (!link) {
+ throw new Error("No download link returned from generator.");
+ }
+
+ console.log(`Downloading generated client from ${link}...`);
+ const zipPath = "/tmp/bugsnag-client.zip";
+ execSync(`curl -s "${link}" -o ${zipPath}`);
+
+ console.log("Extracting api.ts...");
+ const extractedApi = execSync(
+ `unzip -p ${zipPath} typescript-fetch-client/api.ts`,
+ ).toString("utf-8");
+
+ console.log("Preparing new api.ts content...");
+
+ // Find where the actual code starts (after the generated header and imports)
+ // Typically it starts with `export const BASE_PATH` or `export interface`
+ let rawCode = extractedApi.replace(
+ /\/\/\/ \n/,
+ "",
+ );
+ // Remove the generated header comment
+ rawCode = rawCode.replace(/\/\*\*[\s\S]*?\*\//, "").trim();
+ // Remove duplicate original imports, as we inject our own with node:url and type imports
+ rawCode = rawCode.replace(/import \* as url from "url";\n/, "");
+ rawCode = rawCode.replace(
+ /import { Configuration } from "\.\/configuration";\n/,
+ "",
+ );
+ rawCode = rawCode.replace(/\/\/ tslint:disable\n/, "");
+
+ fs.writeFileSync(API_FILE_PATH, HEADER_COMMENT + "\n" + rawCode.trimStart());
+ console.log(`Saved newly extracted base code to ${API_FILE_PATH}`);
+}
+
+async function main() {
+ await downloadAndExtractApi();
+
+ console.log(`Loading project and analyzing ${API_FILE_PATH}...`);
+ const project = new Project({
+ tsConfigFilePath: "tsconfig.json",
+ });
+
+ // Force a reload from disk since we just modified it
+ const sourceFile = project.getSourceFileOrThrow(API_FILE_PATH);
+ await sourceFile.refreshFromFileSystem();
+
+ console.log("Removing portable-fetch and isomorphic-fetch imports if any...");
+ for (const moduleName of ["isomorphic-fetch", "portable-fetch"]) {
+ const fetchImport = sourceFile.getImportDeclaration(
+ (decl) => decl.getModuleSpecifierValue() === moduleName,
+ );
+ if (fetchImport) {
+ fetchImport.remove();
+ }
+ }
+
+ console.log(
+ "Removing Fp and Factory constants, and object-oriented API classes...",
+ );
+
+ const varsToRemove = [];
+ for (const varDecl of sourceFile.getVariableDeclarations()) {
+ const name = varDecl.getName();
+ if (name.endsWith("ApiFp") || name.endsWith("ApiFactory")) {
+ varsToRemove.push(varDecl);
+ }
+ // Also remove unused Scim and Integrations creators
+ if (
+ name === "ScimApiFetchParamCreator" ||
+ name === "IntegrationsApiFetchParamCreator"
+ ) {
+ varsToRemove.push(varDecl);
+ }
+ }
+
+ for (const v of varsToRemove) {
+ v.getVariableStatement()?.remove();
+ }
+
+ const classesToRemove = [];
+ for (const classDecl of sourceFile.getClasses()) {
+ const name = classDecl.getName() || "";
+ if (name.endsWith("Api")) {
+ classesToRemove.push(classDecl);
+ }
+ }
+ for (const c of classesToRemove) {
+ c.remove();
+ }
+
+ console.log(
+ "Removing BaseAPI, FetchAPI, BASE_PATH, and COLLECTION_FORMATS...",
+ );
+ sourceFile.getInterface("FetchAPI")?.remove();
+ sourceFile.getClass("BaseAPI")?.remove();
+ sourceFile.getVariableStatement("BASE_PATH")?.remove();
+ sourceFile.getVariableStatement("COLLECTION_FORMATS")?.remove();
+
+ console.log("Stripping unreferenced exports using ts-morph...");
+ const exportedDeclarations = sourceFile.getExportedDeclarations();
+ let strippedCount = 0;
+
+ for (const [name, declarations] of exportedDeclarations) {
+ for (const decl of declarations) {
+ if ("setIsExported" in decl && typeof decl.setIsExported === "function") {
+ const referencedNodes = decl.findReferencesAsNodes();
+ const isUsedOutside = referencedNodes.some(
+ (n) => n.getSourceFile().getFilePath() !== sourceFile.getFilePath(),
+ );
+
+ if (!isUsedOutside) {
+ (decl as any).setIsExported(false);
+ strippedCount++;
+ }
+ }
+ }
+ }
+
+ console.log(`Stripped ${strippedCount} unused exports.`);
+
+ console.log("Saving changes...");
+ await project.save();
+
+ console.log("Formatting the file with biome...");
+ try {
+ execSync(`npx biome check --write --unsafe ${API_FILE_PATH}`, {
+ stdio: "inherit",
+ });
+ } catch (err) {
+ console.error("Warning: biome format failed.", err);
+ }
+
+ console.log("Running pre-commit hooks on the generated file...");
+ try {
+ execSync(`prek run --files ${API_FILE_PATH}`, { stdio: "inherit" });
+ } catch (err) {
+ console.error("Warning: pre-commit hooks failed.", err);
+ }
+
+ console.log("BugSnag API update automation completed.");
+}
+
+main().catch(console.error);
diff --git a/src/bugsnag/client/api/api.ts b/src/bugsnag/client/api/api.ts
index bbf86402..45bf0343 100644
--- a/src/bugsnag/client/api/api.ts
+++ b/src/bugsnag/client/api/api.ts
@@ -11,20 +11,8 @@
* https://github.com/swagger-api/swagger-codegen.git
*
* To update:
- * 1. Generate the TypeScript fetch client code from https://app.swaggerhub.com/apis/smartbear/bugsnag-data-access-api/2
- * - Ensure the `modelPropertyNaming` is set to `original` in the options
- * 2. Copy the contents of `api.ts` below this comment block, excluding the imports
- * 3. Remove isomorphic-fetch import and revert
- * 4. Remove all the functional programming interfaces (e.g. CurrentUserApiFp), factory interfaces (e.g. CurrentUserApiFactory) and object-oriented interfaces (e.g. CurrentUserApi)
- * (leaving just the ApiFetchParamCreators)
- * 5. Remove unused APIs (currently SCIM and Integrations)
- * 6. Remove BaseAPI, FetchAPI, BASE_PATH and COLLECTION_FORMATS
- * 7. Fix arrow function warnings using quick fix
- * 8. Remove unused code/types with: `npx tsr --write src/index.ts` (discard changes to other files)
- * 9. Format document with prettier
- * 10. Remove the string "export " from the file and then reinstate one-by-one to solve compile issues referencing types in this and `index.ts`
- *
- * To update, download the latest Node client from API Hub and replace the code below, running `npx tsr --write` (https://github.com/line/tsr) to strip unused exports.
+ * 1. Run `npm run update:bugsnag` to automatically download and prune unused code
+ * 2. Check `git diff` to ensure the changes are correct
*/
import * as url from "node:url";
@@ -57,4936 +45,3502 @@ class RequiredError extends Error {
}
/**
- *
+ * CurrentUserApi - fetch parameter creator
* @export
- * @interface Breadcrumb
*/
-interface Breadcrumb {
- /**
- * A short summary describing the event, such as the user action taken or a new application state.
- * @type {string}
- * @memberof Breadcrumb
- */
- name: string;
- /**
- * A category which describes the breadcrumb, from the list of allowed values. - `navigation` - Changing screens or content being displayed, with a defined destination and optionally a previous location. - `request` - Sending and receiving requests and responses. - `process` - Performing an intensive task or query. - `log` - Messages and severity sent to a logging platform. - `user` - Actions performed by the user, like text input, button presses, or confirming/cancelling an alert dialog. - `state` - Changing the overall state of an app, such as closing, pausing, or being moved to the background, as well as device state changes like memory or battery warnings and network connectivity changes. - `error` - An error which was reported to Bugsnag encountered in the same session. - `manual` - User-defined, manually added breadcrumbs.
- * @type {string}
- * @memberof Breadcrumb
- */
- type: Breadcrumb.TypeEnum;
- /**
- * The time at which the event occurred, in [ISO 8601 format](https://tools.ietf.org/html/rfc3339#section-5.8).
- * @type {Date}
- * @memberof Breadcrumb
- */
- timestamp: Date;
+export const CurrentUserApiFetchParamCreator = (
+ _configuration?: Configuration,
+) => ({
/**
- * An object containing extra information about a breadcrumb
- * @type {any}
- * @memberof Breadcrumb
+ *
+ * @summary Create a Saved Search
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
*/
- metaData?: any;
-}
+ createSavedSearch(options: any = {}): FetchArgs {
+ const localVarPath = `/saved_searches`;
+ const localVarUrlObj = url.parse(localVarPath, true);
+ const localVarRequestOptions = Object.assign({ method: "POST" }, options);
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
-/**
- * @export
- * @namespace Breadcrumb
- */
-namespace Breadcrumb {
- /**
- * @export
- * @enum {string}
- */
- export enum TypeEnum {
- Navigation = "navigation",
- Request = "request",
- Process = "process",
- Log = "log",
- User = "user",
- State = "state",
- Error = "error",
- Manual = "manual",
- }
-}
+ localVarUrlObj.query = Object.assign(
+ {},
+ localVarUrlObj.query,
+ localVarQueryParameter,
+ options.query,
+ );
+ // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
+ localVarUrlObj.search = null;
+ localVarRequestOptions.headers = Object.assign(
+ {},
+ localVarHeaderParameter,
+ options.headers,
+ );
-/**
- *
- * @export
- * @interface CoreFrameFields
- */
-interface CoreFrameFields {
- /**
- * The line of the file that this frame of the stack was in.
- * @type {number}
- * @memberof CoreFrameFields
- */
- lineNumber?: number;
- /**
- * The column of the file that this frame of the stack was in.
- * @type {string}
- * @memberof CoreFrameFields
- */
- columnNumber?: string;
- /**
- * The file that this stack frame was executing
- * @type {string}
- * @memberof CoreFrameFields
- */
- file?: string;
- /**
- * Indicates if this stack trace line is in the project's application code (true) or form a 3rd party library (false).
- * @type {boolean}
- * @memberof CoreFrameFields
- */
- inProject?: boolean;
- /**
- * Path of the code file for the module referenced.
- * @type {string}
- * @memberof CoreFrameFields
- */
- codeFile?: string;
- /**
- * Offset of the frame's return address from the base of the line, function, or module in a minidump.
- * @type {string}
- * @memberof CoreFrameFields
- */
- addressOffset?: string;
- /**
- * Offset of the frame's return address from the base of the line, function, or module.
- * @type {string}
- * @memberof CoreFrameFields
- */
- relativeAddress?: string;
- /**
- * the frame's return address from the base of the line, function, or module in a minidump.
- * @type {string}
- * @memberof CoreFrameFields
- */
- frameAddress?: string;
- /**
- * The method that this particular stack frame is within.
- * @type {string}
- * @memberof CoreFrameFields
- */
- method?: string;
- /**
- * The type of the stackframe. This may be different for each stackframe, for example when the error occurs in native extension of a scripting language.
- * @type {string}
- * @memberof CoreFrameFields
- */
- type?: string;
- /**
- * A link to the affected line of code in source control.
- * @type {string}
- * @memberof CoreFrameFields
- */
- source_control_link?: string;
- /**
- * The name of the source control service being used.
- * @type {string}
- * @memberof CoreFrameFields
- */
- source_control_name?: string;
- /**
- * Indicates if this is an inlined function
- * @type {boolean}
- * @memberof CoreFrameFields
- */
- inlined?: boolean;
- /**
- * The code in the file surrounding this line, with up to three lines on either side of the line that crashed.
- * @type {any}
- * @memberof CoreFrameFields
- */
- code?: any;
-}
-/**
- *
- * @export
- * @interface ErrorApiView
- */
-export interface ErrorApiView extends ErrorBase {
- /**
- * Identifies the collaborator, if any, who has been assigned to the Error.
- * @type {string}
- * @memberof ErrorApiView
- */
- assigned_collaborator_id?: string;
- /**
- * Identifies the team, if any, that has been assigned to the Error.
- * @type {string}
- * @memberof ErrorApiView
- */
- assigned_team_id?: string;
- /**
- *
- * @type {string}
- * @memberof ErrorApiView
- */
- id?: string;
- /**
- *
- * @type {string}
- * @memberof ErrorApiView
- */
- project_id?: string;
- /**
- *
- * @type {string}
- * @memberof ErrorApiView
- */
- url?: string;
- /**
- *
- * @type {string}
- * @memberof ErrorApiView
- */
- project_url?: string;
- /**
- *
- * @type {string}
- * @memberof ErrorApiView
- */
- error_class?: string;
- /**
- *
- * @type {string}
- * @memberof ErrorApiView
- */
- message?: string;
+ return {
+ url: url.format(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
/**
*
- * @type {string}
- * @memberof ErrorApiView
+ * @summary Delete a Saved Search
+ * @param {any} id The ID of the saved search
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
*/
- context?: string;
+ deleteSavedSearchById(id: any, options: any = {}): FetchArgs {
+ // verify required parameter 'id' is not null or undefined
+ if (id === null || id === undefined) {
+ throw new RequiredError(
+ "id",
+ "Required parameter id was null or undefined when calling deleteSavedSearchById.",
+ );
+ }
+ const localVarPath = `/saved_searches/{id}`.replace(
+ `{${"id"}}`,
+ encodeURIComponent(String(id)),
+ );
+ const localVarUrlObj = url.parse(localVarPath, true);
+ const localVarRequestOptions = Object.assign({ method: "DELETE" }, options);
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+ localVarUrlObj.query = Object.assign(
+ {},
+ localVarUrlObj.query,
+ localVarQueryParameter,
+ options.query,
+ );
+ // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
+ localVarUrlObj.search = null;
+ localVarRequestOptions.headers = Object.assign(
+ {},
+ localVarHeaderParameter,
+ options.headers,
+ );
+
+ return {
+ url: url.format(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
/**
- *
- * @type {SeverityOptions}
- * @memberof ErrorApiView
+ * Returns a list of projects for the given organization.
+ * @summary List an Organization's Projects
+ * @param {any} organization_id the ID of the organization
+ * @param {any} [q] Search projects with names matching parameter
+ * @param {any} [sort] Which field to sort the results by
+ * @param {any} [direction] Which direction to sort the results by. Defaults to `desc` for all sorts except `favorite`. Defaults to `asc` if sorting by `favorite` (cannot sort `favorite`s `desc`).
+ * @param {any} [per_page] How many results to return per page
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
*/
- original_severity?: SeverityOptions;
+ getOrganizationProjects(
+ organization_id: any,
+ q?: any,
+ sort?: any,
+ direction?: any,
+ per_page?: any,
+ options: any = {},
+ ): FetchArgs {
+ // verify required parameter 'organization_id' is not null or undefined
+ if (organization_id === null || organization_id === undefined) {
+ throw new RequiredError(
+ "organization_id",
+ "Required parameter organization_id was null or undefined when calling getOrganizationProjects.",
+ );
+ }
+ const localVarPath = `/organizations/{organization_id}/projects`.replace(
+ `{${"organization_id"}}`,
+ encodeURIComponent(String(organization_id)),
+ );
+ const localVarUrlObj = url.parse(localVarPath, true);
+ const localVarRequestOptions = Object.assign({ method: "GET" }, options);
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+ if (q !== undefined) {
+ localVarQueryParameter["q"] = q;
+ }
+
+ if (sort !== undefined) {
+ localVarQueryParameter["sort"] = sort;
+ }
+
+ if (direction !== undefined) {
+ localVarQueryParameter["direction"] = direction;
+ }
+
+ if (per_page !== undefined) {
+ localVarQueryParameter["per_page"] = per_page;
+ }
+
+ localVarUrlObj.query = Object.assign(
+ {},
+ localVarUrlObj.query,
+ localVarQueryParameter,
+ options.query,
+ );
+ // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
+ localVarUrlObj.search = null;
+ localVarRequestOptions.headers = Object.assign(
+ {},
+ localVarHeaderParameter,
+ options.headers,
+ );
+
+ return {
+ url: url.format(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
/**
*
- * @type {SeverityOptions}
- * @memberof ErrorApiView
- */
- overridden_severity?: SeverityOptions;
- /**
- * The number of occurrences of the Error. If the Error request includes filters, this will be a filtered count.
- * @type {number}
- * @memberof ErrorApiView
- */
- events?: number;
- /**
- * The API URL for the Error's Events.
- * @type {string}
- * @memberof ErrorApiView
- */
- events_url?: string;
- /**
- * The absolute count of all received Events for the Error.
- * @type {number}
- * @memberof ErrorApiView
- */
- unthrottled_occurrence_count?: number;
- /**
- * The number of users affected by the Error. If the Error request includes filters, this will be a filtered count.
- * @type {number}
- * @memberof ErrorApiView
- */
- users?: number;
- /**
- * The time of the first occurrence of the Error. This time will be within the bounds of any applied time Filters.
- * @type {string}
- * @memberof ErrorApiView
- */
- first_seen?: string;
- /**
- * The time of the last occurrence of the Error. This time will be within the bounds of any applied time Filters.
- * @type {string}
- * @memberof ErrorApiView
- */
- last_seen?: string;
- /**
- * The time of the first occurrence of this Error. This is an absolute time which may extend beyond the bounds of any applied time Filters.
- * @type {string}
- * @memberof ErrorApiView
+ * @summary Get a Saved Search
+ * @param {any} id The ID of the saved search
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
*/
- first_seen_unfiltered?: string;
+ getSavedSearchById(id: any, options: any = {}): FetchArgs {
+ // verify required parameter 'id' is not null or undefined
+ if (id === null || id === undefined) {
+ throw new RequiredError(
+ "id",
+ "Required parameter id was null or undefined when calling getSavedSearchById.",
+ );
+ }
+ const localVarPath = `/saved_searches/{id}`.replace(
+ `{${"id"}}`,
+ encodeURIComponent(String(id)),
+ );
+ const localVarUrlObj = url.parse(localVarPath, true);
+ const localVarRequestOptions = Object.assign({ method: "GET" }, options);
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+ localVarUrlObj.query = Object.assign(
+ {},
+ localVarUrlObj.query,
+ localVarQueryParameter,
+ options.query,
+ );
+ // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
+ localVarUrlObj.search = null;
+ localVarRequestOptions.headers = Object.assign(
+ {},
+ localVarHeaderParameter,
+ options.headers,
+ );
+
+ return {
+ url: url.format(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
/**
- * The time of the last occurrence of this Error. This is an absolute time which may extend beyond the bounds of any applied time Filters.
- * @type {string}
- * @memberof ErrorApiView
+ * Returns a short usage summary for a saved search.
+ * @summary Get the Usage Summary for a Saved Search
+ * @param {any} id the ID of the saved search to get a summary for
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
*/
- last_seen_unfiltered?: string;
- /**
- * The trend in the Error's daily occurrence frequency. Only included when the `histogram` parameter is provided in the request. If set to `dynamic`, the data is scoped to the time range being requested. If set to `two_week` or not provided, it covers the last 14 days. It's represented as an array of [`date`, `count`] pairs. This trend will take non-time Filters into account.
- * @type {Array>}
- * @memberof ErrorApiView
- */
- trend?: Array>;
- /**
- *
- * @type {ErrorReopenRules}
- * @memberof ErrorApiView
- */
- reopen_rules?: ErrorReopenRules;
- /**
- *
- * @type {ErrorStatus}
- * @memberof ErrorApiView
- */
- status?: ErrorStatus;
- /**
- * Issues linked to this error
- * @type {Array}
- * @memberof ErrorApiView
- */
- linked_issues?: Array;
- /**
- *
- * @type {ErrorCreatedIssue}
- * @memberof ErrorApiView
- */
- created_issue?: ErrorCreatedIssue;
- /**
- * The number of comments on the Error. This count does not consider time Filters.
- * @type {number}
- * @memberof ErrorApiView
- */
- comment_count?: number;
- /**
- * An array of UUIDs for dSYMs that were not [uploaded](https://docs.bugsnag.com/platforms/ios/symbolication-guide/) but are required to symbolicate the Error. Applies to iOS, macOS, and tvOS projects.
- * @type {Array}
- * @memberof ErrorApiView
- */
- missing_dsyms?: Array;
- /**
- * The release stages where this Error has occurred.
- * @type {Array}
- * @memberof ErrorApiView
- */
- release_stages?: Array;
- /**
- * The reason that events were grouped into this error. - `frame-code` - same code location - `frame-inner` - top in-project stackframe - `context-inner` - context - `error_class-inner` - error class - `user_defined` - custom grouping hash - `js-blob` - from blobs (JS only) - `js-tag` - same inline script (JS only) - `js-html` - same page location (JS only) - `js-eval` - originate from eval statements (JS only) - `js-structure` - same point in the code using the structure of the surrounding minified code (JS only) - `js-codebase` - same point in the code using the surrounding minified code (JS only) - `js-location` - similar location (JS only)
- * @type {string}
- * @memberof ErrorApiView
- */
- grouping_reason?: ErrorApiView.GroupingReasonEnum;
- /**
- * A map of the fields and their values that were used for the grouping of this error. Long field values may be truncated. The specific fields included in this response are dependent on the `grouping_reason`.
- * @type {any}
- * @memberof ErrorApiView
- */
- grouping_fields?: any;
- /**
- * Whether future Events for this error are being discarded.
- * @type {boolean}
- * @memberof ErrorApiView
- */
- discarded?: boolean;
-}
+ getSavedSearchUsageSummary(id: any, options: any = {}): FetchArgs {
+ // verify required parameter 'id' is not null or undefined
+ if (id === null || id === undefined) {
+ throw new RequiredError(
+ "id",
+ "Required parameter id was null or undefined when calling getSavedSearchUsageSummary.",
+ );
+ }
+ const localVarPath = `/saved_searches/{id}/usage_summary`.replace(
+ `{${"id"}}`,
+ encodeURIComponent(String(id)),
+ );
+ const localVarUrlObj = url.parse(localVarPath, true);
+ const localVarRequestOptions = Object.assign({ method: "GET" }, options);
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
-/**
- * @export
- * @namespace ErrorApiView
- */
-namespace ErrorApiView {
- /**
- * @export
- * @enum {string}
- */
- export enum GroupingReasonEnum {
- FrameCode = "frame-code",
- FrameInner = "frame-inner",
- ContextInner = "context-inner",
- ErrorClassInner = "error_class-inner",
- UserDefined = "user_defined",
- JsBlob = "js-blob",
- JsTag = "js-tag",
- JsHtml = "js-html",
- JsEval = "js-eval",
- JsStructure = "js-structure",
- JsCodebase = "js-codebase",
- JsLocation = "js-location",
- }
-}
-/**
- *
- * @export
- * @interface ErrorAssignmentRuleCreateRequest
- */
-interface ErrorAssignmentRuleCreateRequest {
+ localVarUrlObj.query = Object.assign(
+ {},
+ localVarUrlObj.query,
+ localVarQueryParameter,
+ options.query,
+ );
+ // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
+ localVarUrlObj.search = null;
+ localVarRequestOptions.headers = Object.assign(
+ {},
+ localVarHeaderParameter,
+ options.headers,
+ );
+
+ return {
+ url: url.format(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
/**
- *
- * @type {ErrorAssignmentRulesAssignee}
- * @memberof ErrorAssignmentRuleCreateRequest
+ * Returns the saved searches for a given project sorted by name in lexicographic order.
+ * @summary List Saved Searches on a Project
+ * @param {any} project_id
+ * @param {any} [shared] Limit Saved Searches returned to only those with this `shared` property
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
*/
- assignee: ErrorAssignmentRulesAssignee;
+ listProjectSavedSearches(
+ project_id: any,
+ shared?: any,
+ options: any = {},
+ ): FetchArgs {
+ // verify required parameter 'project_id' is not null or undefined
+ if (project_id === null || project_id === undefined) {
+ throw new RequiredError(
+ "project_id",
+ "Required parameter project_id was null or undefined when calling listProjectSavedSearches.",
+ );
+ }
+ const localVarPath = `/projects/{project_id}/saved_searches`.replace(
+ `{${"project_id"}}`,
+ encodeURIComponent(String(project_id)),
+ );
+ const localVarUrlObj = url.parse(localVarPath, true);
+ const localVarRequestOptions = Object.assign({ method: "GET" }, options);
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+ if (shared !== undefined) {
+ localVarQueryParameter["shared"] = shared;
+ }
+
+ localVarUrlObj.query = Object.assign(
+ {},
+ localVarUrlObj.query,
+ localVarQueryParameter,
+ options.query,
+ );
+ // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
+ localVarUrlObj.search = null;
+ localVarRequestOptions.headers = Object.assign(
+ {},
+ localVarHeaderParameter,
+ options.headers,
+ );
+
+ return {
+ url: url.format(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
/**
*
- * @type {ErrorAssignmentRulePatternApiView}
- * @memberof ErrorAssignmentRuleCreateRequest
- */
- pattern: ErrorAssignmentRulePatternApiView;
- /**
- * Freeform text about the rule.
- * @type {string}
- * @memberof ErrorAssignmentRuleCreateRequest
- */
- comment?: string;
-}
-/**
- *
- * @export
- * @interface ErrorAssignmentRulePatternApiView
- */
-interface ErrorAssignmentRulePatternApiView {
- /**
- * The pattern variant.
- * @type {string}
- * @memberof ErrorAssignmentRulePatternApiView
- */
- type: ErrorAssignmentRulePatternApiView.TypeEnum;
- /**
- * The file glob or dot notation payload path that, when matched, will activate the path.
- * @type {string}
- * @memberof ErrorAssignmentRulePatternApiView
- */
- scope: string;
- /**
- * The value to match to the resolved scope - required for payload_path matches, unset for file_path and code_method matches.
- * @type {string}
- * @memberof ErrorAssignmentRulePatternApiView
- */
- match_value?: string;
- /**
- * Whether to match on any line or only the first line - required for file_path and code_method matches, unset for payload_path matches.
- * @type {string}
- * @memberof ErrorAssignmentRulePatternApiView
+ * @summary List the Current User's Organizations
+ * @param {any} [admin] `true` if only Organizations the Current User is an admin of should be returned
+ * @param {any} [per_page] Number of results per page
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
*/
- match_frame?: ErrorAssignmentRulePatternApiView.MatchFrameEnum;
-}
+ listUserOrganizations(
+ admin?: any,
+ per_page?: any,
+ options: any = {},
+ ): FetchArgs {
+ const localVarPath = `/user/organizations`;
+ const localVarUrlObj = url.parse(localVarPath, true);
+ const localVarRequestOptions = Object.assign({ method: "GET" }, options);
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
-/**
- * @export
- * @namespace ErrorAssignmentRulePatternApiView
- */
-namespace ErrorAssignmentRulePatternApiView {
- /**
- * @export
- * @enum {string}
- */
- export enum TypeEnum {
- PayloadPath = "payload_path",
- FilePath = "file_path",
- CodeMethod = "code_method",
- }
- /**
- * @export
- * @enum {string}
- */
- export enum MatchFrameEnum {
- Any = "any",
- First = "first",
- }
-}
-/**
- *
- * @export
- * @interface ErrorAssignmentRulesAssignee
- */
-interface ErrorAssignmentRulesAssignee {
- /**
- * Whether the rule will assign to a team or a specific user.
- * @type {string}
- * @memberof ErrorAssignmentRulesAssignee
- */
- type: ErrorAssignmentRulesAssignee.TypeEnum;
- /**
- * The ID of the User or Team being assigned the rule.
- * @type {string}
- * @memberof ErrorAssignmentRulesAssignee
- */
- id: string;
-}
+ if (admin !== undefined) {
+ localVarQueryParameter["admin"] = admin;
+ }
-/**
- * @export
- * @namespace ErrorAssignmentRulesAssignee
- */
-namespace ErrorAssignmentRulesAssignee {
- /**
- * @export
- * @enum {string}
- */
- export enum TypeEnum {
- User = "user",
- Team = "team",
- }
-}
-/**
- *
- * @export
- * @interface ErrorAssignmentRulesReplaceRequest
- */
-interface ErrorAssignmentRulesReplaceRequest {
+ if (per_page !== undefined) {
+ localVarQueryParameter["per_page"] = per_page;
+ }
+
+ localVarUrlObj.query = Object.assign(
+ {},
+ localVarUrlObj.query,
+ localVarQueryParameter,
+ options.query,
+ );
+ // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
+ localVarUrlObj.search = null;
+ localVarRequestOptions.headers = Object.assign(
+ {},
+ localVarHeaderParameter,
+ options.headers,
+ );
+
+ return {
+ url: url.format(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
/**
*
- * @type {Array}
- * @memberof ErrorAssignmentRulesReplaceRequest
+ * @summary Update a Saved Search
+ * @param {any} id The ID of the saved search
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
*/
- assignment_rules?: Array;
-}
+ updateSavedSearchById(id: any, options: any = {}): FetchArgs {
+ // verify required parameter 'id' is not null or undefined
+ if (id === null || id === undefined) {
+ throw new RequiredError(
+ "id",
+ "Required parameter id was null or undefined when calling updateSavedSearchById.",
+ );
+ }
+ const localVarPath = `/saved_searches/{id}`.replace(
+ `{${"id"}}`,
+ encodeURIComponent(String(id)),
+ );
+ const localVarUrlObj = url.parse(localVarPath, true);
+ const localVarRequestOptions = Object.assign({ method: "PATCH" }, options);
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+ localVarUrlObj.query = Object.assign(
+ {},
+ localVarUrlObj.query,
+ localVarQueryParameter,
+ options.query,
+ );
+ // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
+ localVarUrlObj.search = null;
+ localVarRequestOptions.headers = Object.assign(
+ {},
+ localVarHeaderParameter,
+ options.headers,
+ );
+
+ return {
+ url: url.format(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
+});
/**
- *
+ * ErrorsApi - fetch parameter creator
* @export
- * @interface ErrorBase
*/
-interface ErrorBase {
+export const ErrorsApiFetchParamCreator = (_configuration?: Configuration) => ({
/**
*
- * @type {SeverityOptions}
- * @memberof ErrorBase
- */
- severity?: SeverityOptions;
-}
-/**
- *
- * @export
- * @interface ErrorCreatedIssue
- */
-interface ErrorCreatedIssue {
- /**
- * The immutable issue id.
- * @type {string}
- * @memberof ErrorCreatedIssue
- */
- id: string;
- /**
- * The issue key (if applicable). For example, in the case of a Jira story, this will be the mutable key (e.g. ENG-10)
- * @type {string}
- * @memberof ErrorCreatedIssue
- */
- key?: string;
- /**
- * The issue number (if applicable). For example, in the case of a github issue with the url `https://github.com/foo/bar/issues/123` this field will be set to `123`.
- * @type {number}
- * @memberof ErrorCreatedIssue
+ * @summary Bulk Update Errors
+ * @param {any} project_id
+ * @param {any} error_ids
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
*/
- number?: number;
- /**
- * An identifier for the 3rd party service
- * @type {string}
- * @memberof ErrorCreatedIssue
- */
- type: string;
- /**
- * The url to the issue on the 3rd party service
- * @type {string}
- * @memberof ErrorCreatedIssue
- */
- url: string;
-}
-/**
- *
- * @export
- * @interface ErrorReopenRules
- */
-interface ErrorReopenRules {
- /**
- * Must be one of the following: - `n_additional_occurrences` - Indicates that the Error should be reopened after n more occurrences. In this case, the `occurrence_threshold` field indicates the number of total occurrences at which the Error should be reopened, and the `additional_occurrences` field indicates the number of additional occurrences that were allowed before reopening. - `n_occurrences_in_m_hours` - Indicates that the Error should be reopened after n occurrences over some configurable number of hours. In this case, the `occurrences` and `hours` fields will both be present. - `occurs_after` - Indicates that the error should be reopened if there are any occurrences after the specified time period. The `seconds` field contains the number of seconds that the Error has been snoozed for. In this case, the `seconds` and `reopen_after` fields will both be present.
- * @type {string}
- * @memberof ErrorReopenRules
- */
- reopen_if: ErrorReopenRules.ReopenIfEnum;
- /**
- * for `occurs_after` reopen rules, this field indicates the time after which the Error should be reopened if there is an additional occurrence.
- * @type {string}
- * @memberof ErrorReopenRules
- */
- reopen_after?: string;
- /**
- * for `occurs_after` reopen rules, the number of seconds that the Error was set to snooze for.
- * @type {number}
- * @memberof ErrorReopenRules
- */
- seconds?: number;
- /**
- * for `n_occurrences_in_m_hours` reopen rules, the number of occurrences to allow in the number of hours indicated by the `hours` field, before the Error is automatically reopened.
- * @type {number}
- * @memberof ErrorReopenRules
- */
- occurrences?: number;
- /**
- * for `n_occurrences_in_m_hours` reopen rules, the number of hours.
- * @type {number}
- * @memberof ErrorReopenRules
- */
- hours?: number;
- /**
- * for `n_additional_occurrences` reopen rules, the number of total occurrences at which the Error should be reopened.
- * @type {number}
- * @memberof ErrorReopenRules
- */
- occurrence_threshold?: number;
- /**
- * for `n_additional_occurrences` reopen rules, the number of additional occurrences allowed before reopening.
- * @type {number}
- * @memberof ErrorReopenRules
- */
- additional_occurrences?: number;
-}
+ bulkUpdateErrors(
+ project_id: any,
+ error_ids: any,
+ options: any = {},
+ ): FetchArgs {
+ // verify required parameter 'project_id' is not null or undefined
+ if (project_id === null || project_id === undefined) {
+ throw new RequiredError(
+ "project_id",
+ "Required parameter project_id was null or undefined when calling bulkUpdateErrors.",
+ );
+ }
+ // verify required parameter 'error_ids' is not null or undefined
+ if (error_ids === null || error_ids === undefined) {
+ throw new RequiredError(
+ "error_ids",
+ "Required parameter error_ids was null or undefined when calling bulkUpdateErrors.",
+ );
+ }
+ const localVarPath = `/projects/{project_id}/errors`.replace(
+ `{${"project_id"}}`,
+ encodeURIComponent(String(project_id)),
+ );
+ const localVarUrlObj = url.parse(localVarPath, true);
+ const localVarRequestOptions = Object.assign({ method: "PATCH" }, options);
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
-/**
- * @export
- * @namespace ErrorReopenRules
- */
-namespace ErrorReopenRules {
- /**
- * @export
- * @enum {string}
- */
- export enum ReopenIfEnum {
- NAdditionalOccurrences = "n_additional_occurrences",
- NOccurrencesInMHours = "n_occurrences_in_m_hours",
- OccursAfter = "occurs_after",
- }
-}
-/**
- *
- * @export
- * @enum {string}
- */
-enum ErrorStatus {
- Open = "open",
- InProgress = "in progress",
- ForReview = "for_review",
- Fixed = "fixed",
- Snoozed = "snoozed",
- Ignored = "ignored",
-}
-/**
- *
- * @export
- * @interface ErrorUpdateReopenRules
- */
-interface ErrorUpdateReopenRules {
- /**
- * Must be one of the following: - `occurs_after` - Indicates that the error should be reopened if there are any occurrences after the specified time period. In this case, the `seconds` field must also be provided. - `n_occurrences_in_m_hours` - Indicates that the Error should be reopened after n occurrences over some period of hours. In this case, the `occurrences` and `hours` fields will both be present. - `n_additional_occurrences` - Indicates that the Error should be reopened after n more occurrences. In this case, the `additional_occurrences` field indicates the number of additional occurrences that were allowed before reopening. Cannot be set if more than 10,000 existing users are already affected by an error. - `n_additional_users` - Reopen the error after `n` more users are affected. In this case, the `additional_users` field must be provided.
- * @type {string}
- * @memberof ErrorUpdateReopenRules
- */
- reopen_if: ErrorUpdateReopenRules.ReopenIfEnum;
- /**
- * for `n_additional_users` reopen rules, the number of additional users to be affected by an Error before the Error is automatically reopened. Value cannot exceed 100,000.
- * @type {number}
- * @memberof ErrorUpdateReopenRules
- */
- additional_users?: number;
- /**
- * for `occurs_after` reopen rules, the number of seconds that the Error should be snoozed for.
- * @type {number}
- * @memberof ErrorUpdateReopenRules
- */
- seconds?: number;
- /**
- * for `n_occurrences_in_m_hours` reopen rules, the number of occurrences to allow in the number of hours indicated by the `hours` field, before the Error is automatically reopened.
- * @type {number}
- * @memberof ErrorUpdateReopenRules
- */
- occurrences?: number;
- /**
- * for `n_occurrences_in_m_hours` reopen rules, the number of hours.
- * @type {number}
- * @memberof ErrorUpdateReopenRules
- */
- hours?: number;
- /**
- * for `n_additional_occurrences` reopen rules, the number of additional occurrences allowed before reopening.
- * @type {number}
- * @memberof ErrorUpdateReopenRules
- */
- additional_occurrences?: number;
-}
+ if (error_ids !== undefined) {
+ localVarQueryParameter["error_ids"] = error_ids;
+ }
-/**
- * @export
- * @namespace ErrorUpdateReopenRules
- */
-namespace ErrorUpdateReopenRules {
- /**
- * @export
- * @enum {string}
- */
- export enum ReopenIfEnum {
- OccursAfter = "occurs_after",
- NOccurrencesInMHours = "n_occurrences_in_m_hours",
- NAdditionalOccurrences = "n_additional_occurrences",
- NAdditionalUsers = "n_additional_users",
- }
-}
-/**
- *
- * @export
- * @interface ErrorUpdateRequest
- */
-export interface ErrorUpdateRequest extends ErrorBase {
- /**
- * The type of update operation to perform. The can be used to change the Error's workflow state (e.g. marking the Error as `fixed`). It must be one of the following: * `override_severity` Set the Error's severity to the newly supplied `severity` parameter. * `assign` Assign the Error to the Collaborator specified by the `assigned_collaborator_id` parameter. The error will be unassigned if `assigned_collaborator_id` is blank, the identified Collaborator has not accepted their invitation, or they do not have access to the Error's Project. * `create_issue` Create an issue for the Error. If the `issue_title` parameter is set, the new issue will be created with this title. * `link_issue` Link the Error to an existing issue. The url should be provided in the `issue_url` parameter. `verify_issue_url` can be set to control whether Bugsnag should attempt to verify the issue URL with any configured issue tracker integration. This is the default behavior if `verify_issue_url` is not supplied. * `unlink_issue` Remove the link between the Error and its current linked issue. * `open` Set the Error's status to open. * `snooze` Snooze the error per the `reopen_rules` parameter. * `fix` Set the Error's status to fixed. * `ignore` Ignore the Error. Errors that are ignored and can only be reopened manually. Events are collected, but no notifications are sent. * `delete` Delete the Error. The Error and all related Events will be removed from Bugsnag. If the error occurs again, it will appear as a new Error with status `Open`. * `discard` Discard future Events for this Error. The Error and all existing Events will remain in Bugsnag, but future occurrences of the Error will not be stored by Bugsnag or count toward Event usage limits. * `undiscard` Undiscard the Error. Future Events will be stored for this Error. This undoes the `discard` option.
- * @type {string}
- * @memberof ErrorUpdateRequest
- */
- operation: ErrorUpdateRequest.OperationEnum;
- /**
- * The Collaborator to assign to the Error. Errors may be assigned only to users who have accepted their Bugsnag invitation and have access to the project.
- * @type {string}
- * @memberof ErrorUpdateRequest
- */
- assigned_collaborator_id?: string;
- /**
- * The Team to assign to the Error. Mutually exclusive with `assigned_collaborator_id`.
- * @type {string}
- * @memberof ErrorUpdateRequest
- */
- assigned_team_id?: string;
- /**
- * Specifies the HTTP link to an external issue when adding or updating a link.
- * @type {string}
- * @memberof ErrorUpdateRequest
- */
- issue_url?: string;
- /**
- * Setting `false` will prevent Bugsnag from attempting to verify the `issue_url` with the configured issue tracker when linking an issue. Defaults to `true` if the parameter is not supplied. If no configured issue tracker the parameter is ignored.
- * @type {boolean}
- * @memberof ErrorUpdateRequest
- */
- verify_issue_url?: boolean;
- /**
- * If the Error has a `created_issue`, the `issue_title` request field can be set to update the issue's title.
- * @type {string}
- * @memberof ErrorUpdateRequest
- */
- issue_title?: string;
- /**
- * ID of the issue tracker to use for `create_issue` and `link_issue` operations. The most recent issue tracker is used if the parameter is omitted, and no issue tracker is used even if `notification_id` is set for `link_issue` operations if `verify_issue_url` is `false`.
- * @type {string}
- * @memberof ErrorUpdateRequest
- */
- notification_id?: string;
- /**
- *
- * @type {ErrorUpdateReopenRules}
- * @memberof ErrorUpdateRequest
- */
- reopen_rules?: ErrorUpdateReopenRules;
- /**
- *
- * @type {SeverityOptions}
- * @memberof ErrorUpdateRequest
- */
- severity?: SeverityOptions;
-}
+ localVarUrlObj.query = Object.assign(
+ {},
+ localVarUrlObj.query,
+ localVarQueryParameter,
+ options.query,
+ );
+ // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
+ localVarUrlObj.search = null;
+ localVarRequestOptions.headers = Object.assign(
+ {},
+ localVarHeaderParameter,
+ options.headers,
+ );
-/**
- * @export
- * @namespace ErrorUpdateRequest
- */
-export namespace ErrorUpdateRequest {
- /**
- * @export
- * @enum {string}
- */
- export enum OperationEnum {
- OverrideSeverity = "override_severity",
- Assign = "assign",
- CreateIssue = "create_issue",
- LinkIssue = "link_issue",
- UnlinkIssue = "unlink_issue",
- Open = "open",
- Snooze = "snooze",
- Fix = "fix",
- Ignore = "ignore",
- Delete = "delete",
- Discard = "discard",
- Undiscard = "undiscard",
- }
-}
-/**
- *
- * @export
- * @interface EventApiView
- */
-export interface EventApiView {
+ return {
+ url: url.format(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
/**
- *
- * @type {string}
- * @memberof EventApiView
+ * Requires user authentication as the user who will be the author of the comment.
+ * @summary Create a Comment on an Error
+ * @param {any} project_id ID of the Project
+ * @param {any} error_id ID of the Error
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
*/
- id?: string;
+ createCommentOnError(
+ project_id: any,
+ error_id: any,
+ options: any = {},
+ ): FetchArgs {
+ // verify required parameter 'project_id' is not null or undefined
+ if (project_id === null || project_id === undefined) {
+ throw new RequiredError(
+ "project_id",
+ "Required parameter project_id was null or undefined when calling createCommentOnError.",
+ );
+ }
+ // verify required parameter 'error_id' is not null or undefined
+ if (error_id === null || error_id === undefined) {
+ throw new RequiredError(
+ "error_id",
+ "Required parameter error_id was null or undefined when calling createCommentOnError.",
+ );
+ }
+ const localVarPath = `/projects/{project_id}/errors/{error_id}/comments`
+ .replace(`{${"project_id"}}`, encodeURIComponent(String(project_id)))
+ .replace(`{${"error_id"}}`, encodeURIComponent(String(error_id)));
+ const localVarUrlObj = url.parse(localVarPath, true);
+ const localVarRequestOptions = Object.assign({ method: "POST" }, options);
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+ localVarUrlObj.query = Object.assign(
+ {},
+ localVarUrlObj.query,
+ localVarQueryParameter,
+ options.query,
+ );
+ // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
+ localVarUrlObj.search = null;
+ localVarRequestOptions.headers = Object.assign(
+ {},
+ localVarHeaderParameter,
+ options.headers,
+ );
+
+ return {
+ url: url.format(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
/**
- * The URL for the event
- * @type {string}
- * @memberof EventApiView
+ * Deletes all Error and Event data in a project. Use with caution. This action cannot be reversed.
+ * @summary Delete all Errors in a Project
+ * @param {any} project_id
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
*/
- url?: string;
+ deleteAllErrorsInProject(project_id: any, options: any = {}): FetchArgs {
+ // verify required parameter 'project_id' is not null or undefined
+ if (project_id === null || project_id === undefined) {
+ throw new RequiredError(
+ "project_id",
+ "Required parameter project_id was null or undefined when calling deleteAllErrorsInProject.",
+ );
+ }
+ const localVarPath = `/projects/{project_id}/errors`.replace(
+ `{${"project_id"}}`,
+ encodeURIComponent(String(project_id)),
+ );
+ const localVarUrlObj = url.parse(localVarPath, true);
+ const localVarRequestOptions = Object.assign({ method: "DELETE" }, options);
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+ localVarUrlObj.query = Object.assign(
+ {},
+ localVarUrlObj.query,
+ localVarQueryParameter,
+ options.query,
+ );
+ // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
+ localVarUrlObj.search = null;
+ localVarRequestOptions.headers = Object.assign(
+ {},
+ localVarHeaderParameter,
+ options.headers,
+ );
+
+ return {
+ url: url.format(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
/**
*
- * @type {string}
- * @memberof EventApiView
+ * @summary Delete a Comment
+ * @param {any} comment_id ID of the comment
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
*/
- project_url?: string;
+ deleteComment(comment_id: any, options: any = {}): FetchArgs {
+ // verify required parameter 'comment_id' is not null or undefined
+ if (comment_id === null || comment_id === undefined) {
+ throw new RequiredError(
+ "comment_id",
+ "Required parameter comment_id was null or undefined when calling deleteComment.",
+ );
+ }
+ const localVarPath = `/comments/{comment_id}`.replace(
+ `{${"comment_id"}}`,
+ encodeURIComponent(String(comment_id)),
+ );
+ const localVarUrlObj = url.parse(localVarPath, true);
+ const localVarRequestOptions = Object.assign({ method: "DELETE" }, options);
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+ localVarUrlObj.query = Object.assign(
+ {},
+ localVarUrlObj.query,
+ localVarQueryParameter,
+ options.query,
+ );
+ // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
+ localVarUrlObj.search = null;
+ localVarRequestOptions.headers = Object.assign(
+ {},
+ localVarHeaderParameter,
+ options.headers,
+ );
+
+ return {
+ url: url.format(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
/**
*
- * @type {boolean}
- * @memberof EventApiView
- */
- is_full_report?: boolean;
- /**
- * The Error this Event is an occurrence of
- * @type {string}
- * @memberof EventApiView
+ * @summary Delete an Error
+ * @param {any} project_id
+ * @param {any} error_id
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
*/
- error_id?: string;
- /**
- * The time the [Error Reporting API](https://developer.smartbear.com/bugsnag/docs/reporting-events-and-sessions/) was notified of this Event
- * @type {string}
- * @memberof EventApiView
- */
- received_at?: string;
- /**
- * An array of exceptions that occurred during this event. Most of the time there will only be one exception, but some languages support \"nested\" or \"caused by\" exceptions. The first item in the array represents the outermost exception. Each subsequent item represents the exception that caused the preceding one.
- * @type {Array}
- * @memberof EventApiView
- */
- exceptions?: Array;
- /**
- * An array of the threads running when this event was reported.
- * @type {Array}
- * @memberof EventApiView
- */
- threads?: Array;
- /**
- * Custom metadata passed with the event manually or via the notifier library. The API preserves the original casing and key format as received.
- * @type {any}
- * @memberof EventApiView
- */
- metaData?: any;
- /**
- *
- * @type {EventRequest}
- * @memberof EventApiView
- */
- request?: EventRequest;
- /**
- *
- * @type {EventApp}
- * @memberof EventApiView
- */
- app?: EventApp;
- /**
- *
- * @type {EventDevice}
- * @memberof EventApiView
- */
- device?: EventDevice;
- /**
- *
- * @type {EventUser}
- * @memberof EventApiView
- */
- user?: EventUser;
- /**
- * An array of user- and system-initiated events which led up to an error, providing additional context. This list is sequential and ordered newest to oldest.
- * @type {Array}
- * @memberof EventApiView
- */
- breadcrumbs?: Array;
- /**
- * This refers to the action that was happening when the event occurred.
- * @type {string}
- * @memberof EventApiView
- */
- context?: string;
+ deleteErrorOnProject(
+ project_id: any,
+ error_id: any,
+ options: any = {},
+ ): FetchArgs {
+ // verify required parameter 'project_id' is not null or undefined
+ if (project_id === null || project_id === undefined) {
+ throw new RequiredError(
+ "project_id",
+ "Required parameter project_id was null or undefined when calling deleteErrorOnProject.",
+ );
+ }
+ // verify required parameter 'error_id' is not null or undefined
+ if (error_id === null || error_id === undefined) {
+ throw new RequiredError(
+ "error_id",
+ "Required parameter error_id was null or undefined when calling deleteErrorOnProject.",
+ );
+ }
+ const localVarPath = `/projects/{project_id}/errors/{error_id}`
+ .replace(`{${"project_id"}}`, encodeURIComponent(String(project_id)))
+ .replace(`{${"error_id"}}`, encodeURIComponent(String(error_id)));
+ const localVarUrlObj = url.parse(localVarPath, true);
+ const localVarRequestOptions = Object.assign({ method: "DELETE" }, options);
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+ localVarUrlObj.query = Object.assign(
+ {},
+ localVarUrlObj.query,
+ localVarQueryParameter,
+ options.query,
+ );
+ // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
+ localVarUrlObj.search = null;
+ localVarRequestOptions.headers = Object.assign(
+ {},
+ localVarHeaderParameter,
+ options.headers,
+ );
+
+ return {
+ url: url.format(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
/**
*
- * @type {SeverityOptions}
- * @memberof EventApiView
+ * @summary Delete an Event
+ * @param {any} project_id
+ * @param {any} event_id
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
*/
- severity?: SeverityOptions;
+ deleteEventById(
+ project_id: any,
+ event_id: any,
+ options: any = {},
+ ): FetchArgs {
+ // verify required parameter 'project_id' is not null or undefined
+ if (project_id === null || project_id === undefined) {
+ throw new RequiredError(
+ "project_id",
+ "Required parameter project_id was null or undefined when calling deleteEventById.",
+ );
+ }
+ // verify required parameter 'event_id' is not null or undefined
+ if (event_id === null || event_id === undefined) {
+ throw new RequiredError(
+ "event_id",
+ "Required parameter event_id was null or undefined when calling deleteEventById.",
+ );
+ }
+ const localVarPath = `/projects/{project_id}/events/{event_id}`
+ .replace(`{${"project_id"}}`, encodeURIComponent(String(project_id)))
+ .replace(`{${"event_id"}}`, encodeURIComponent(String(event_id)));
+ const localVarUrlObj = url.parse(localVarPath, true);
+ const localVarRequestOptions = Object.assign({ method: "DELETE" }, options);
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+ localVarUrlObj.query = Object.assign(
+ {},
+ localVarUrlObj.query,
+ localVarQueryParameter,
+ options.query,
+ );
+ // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
+ localVarUrlObj.search = null;
+ localVarRequestOptions.headers = Object.assign(
+ {},
+ localVarHeaderParameter,
+ options.headers,
+ );
+
+ return {
+ url: url.format(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
/**
- * Whether or not the event was from an unhandled exception.
- * @type {boolean}
- * @memberof EventApiView
+ * Counts for an Error in a given time range, suitable for drawing histograms. Will return a maximum of 50 buckets (when using `buckets_count`) or 2000 data points (when using `resolution`).
+ * @summary List the Trends for an Error
+ * @param {any} project_id ID of the Project
+ * @param {any} error_id ID of the error
+ * @param {any} [filters]
+ * @param {any} [filter_groups]
+ * @param {any} [filter_groups_join] Search filters to restrict the events reported in the trend
+ * @param {any} [buckets_count] Number of buckets to group trend data into (max 50)
+ * @param {any} [resolution] The trend data will be grouped so that each bucket spans the given time period
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
*/
- unhandled?: boolean;
+ getBucketedAndUnbucketedTrendsOnError(
+ project_id: any,
+ error_id: any,
+ filters?: any,
+ filter_groups?: any,
+ filter_groups_join?: any,
+ buckets_count?: any,
+ resolution?: any,
+ options: any = {},
+ ): FetchArgs {
+ // verify required parameter 'project_id' is not null or undefined
+ if (project_id === null || project_id === undefined) {
+ throw new RequiredError(
+ "project_id",
+ "Required parameter project_id was null or undefined when calling getBucketedAndUnbucketedTrendsOnError.",
+ );
+ }
+ // verify required parameter 'error_id' is not null or undefined
+ if (error_id === null || error_id === undefined) {
+ throw new RequiredError(
+ "error_id",
+ "Required parameter error_id was null or undefined when calling getBucketedAndUnbucketedTrendsOnError.",
+ );
+ }
+ const localVarPath = `/projects/{project_id}/errors/{error_id}/trends`
+ .replace(`{${"project_id"}}`, encodeURIComponent(String(project_id)))
+ .replace(`{${"error_id"}}`, encodeURIComponent(String(error_id)));
+ const localVarUrlObj = url.parse(localVarPath, true);
+ const localVarRequestOptions = Object.assign({ method: "GET" }, options);
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+ if (filters !== undefined) {
+ localVarQueryParameter["filters"] = filters;
+ }
+
+ if (filter_groups !== undefined) {
+ localVarQueryParameter["filter_groups"] = filter_groups;
+ }
+
+ if (filter_groups_join !== undefined) {
+ localVarQueryParameter["filter_groups_join"] = filter_groups_join;
+ }
+
+ if (buckets_count !== undefined) {
+ localVarQueryParameter["buckets_count"] = buckets_count;
+ }
+
+ if (resolution !== undefined) {
+ localVarQueryParameter["resolution"] = resolution;
+ }
+
+ localVarUrlObj.query = Object.assign(
+ {},
+ localVarUrlObj.query,
+ localVarQueryParameter,
+ options.query,
+ );
+ // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
+ localVarUrlObj.search = null;
+ localVarRequestOptions.headers = Object.assign(
+ {},
+ localVarHeaderParameter,
+ options.headers,
+ );
+
+ return {
+ url: url.format(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
/**
- * Whether or not there's a missing dSYM (only included in response if event includes a dsym_uuid).
- * @type {boolean}
- * @memberof EventApiView
+ * Counts for a Project in a given time range, suitable for drawing histograms. Will return a maximum of 50 buckets (when using `buckets_count`) or 2000 data points (when using `resolution`).
+ * @summary List the Trends for a Project
+ * @param {any} project_id ID of the project
+ * @param {any} [filters] Search filters to restrict the events reported in the trend
+ * @param {any} [filter_groups]
+ * @param {any} [filter_groups_join]
+ * @param {any} [buckets_count] Number of buckets to group trend data into (max 50)
+ * @param {any} [resolution] The trend data will be grouped so that each bucket spans the given time period
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
*/
- missing_dsym?: boolean;
+ getBucketedAndUnbucketedTrendsOnProject(
+ project_id: any,
+ filters?: any,
+ filter_groups?: any,
+ filter_groups_join?: any,
+ buckets_count?: any,
+ resolution?: any,
+ options: any = {},
+ ): FetchArgs {
+ // verify required parameter 'project_id' is not null or undefined
+ if (project_id === null || project_id === undefined) {
+ throw new RequiredError(
+ "project_id",
+ "Required parameter project_id was null or undefined when calling getBucketedAndUnbucketedTrendsOnProject.",
+ );
+ }
+ const localVarPath = `/projects/{project_id}/trends`.replace(
+ `{${"project_id"}}`,
+ encodeURIComponent(String(project_id)),
+ );
+ const localVarUrlObj = url.parse(localVarPath, true);
+ const localVarRequestOptions = Object.assign({ method: "GET" }, options);
+ const localVarHeaderParameter = {} as any;
+ const localVarQueryParameter = {} as any;
+
+ if (filters !== undefined) {
+ localVarQueryParameter["filters"] = filters;
+ }
+
+ if (filter_groups !== undefined) {
+ localVarQueryParameter["filter_groups"] = filter_groups;
+ }
+
+ if (filter_groups_join !== undefined) {
+ localVarQueryParameter["filter_groups_join"] = filter_groups_join;
+ }
+
+ if (buckets_count !== undefined) {
+ localVarQueryParameter["buckets_count"] = buckets_count;
+ }
+
+ if (resolution !== undefined) {
+ localVarQueryParameter["resolution"] = resolution;
+ }
+
+ localVarUrlObj.query = Object.assign(
+ {},
+ localVarUrlObj.query,
+ localVarQueryParameter,
+ options.query,
+ );
+ // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943
+ localVarUrlObj.search = null;
+ localVarRequestOptions.headers = Object.assign(
+ {},
+ localVarHeaderParameter,
+ options.headers,
+ );
+
+ return {
+ url: url.format(localVarUrlObj),
+ options: localVarRequestOptions,
+ };
+ },
/**
*
- * @type {EventCorrelation}
- * @memberof EventApiView
- */
- correlation?: EventCorrelation;
- /**
- * Feature flags and variants that were active when the event occurred.
- * @type {Array}
- * @memberof EventApiView
- */
- feature_flags?: Array;
-}
-/**
- *
- * @export
- * @interface EventApp
- */
-interface EventApp {
- /**
- * A unique ID for the application.
- * @type {string}
- * @memberof EventApp
- */
- id?: string;
- /**
- * The version number of the application which generated the error.
- * @type {string}
- * @memberof EventApp
- */
- version?: string;
- /**
- * The [version code](https://developer.android.com/studio/publish/versioning.html) of the application (Android only)
- * @type {number}
- * @memberof EventApp
- */
- versionCode?: number;
- /**
- * The [bundle version/build number](https://developer.apple.com/library/content/technotes/tn2420/_index.html) of the application (iOS/macOS/tvOS only)
- * @type {string}
- * @memberof EventApp
+ * @summary List values of a Pivot on a Project
+ * @param {any} project_id
+ * @param {any} event_field_display_id
+ * @param {any} [filters]
+ * @param {any} [filter_groups]
+ * @param {any} [filter_groups_join]
+ * @param {any} [sort]
+ * @param {any} [base]
+ * @param {any} [per_page]
+ * @param {*} [options] Override http request option.
+ * @throws {RequiredError}
*/
- bundleVersion?: string;
- /**
- * A unique identifier to identify a code bundle release when using tools like CodePush (mobile only).
- * @type {string}
- * @memberof EventApp
- */
- codeBundleId?: string;
- /**
- * A build ID that is required to identify a specific build when the version and version code are the same.
- * @type {string}
- * @memberof EventApp
- */
- buildUUID?: string;
- /**
- * The release stage that this error occurred in, for example \"development\", \"staging\" or \"production\".
- * @type {string}
- * @memberof EventApp
- */
- releaseStage?: string;
- /**
- * The application type, such as a web framework or mobile platform, for example \"rails\" or \"android\".
- * @type {string}
- * @memberof EventApp
- */
- type?: string;
- /**
- * The UUIDs of the [debug symbols file](http://lldb.llvm.org/symbols.html) corresponding to this application, if any.
- * @type {Array}
- * @memberof EventApp
- */
- dsymUUIDs?: Array;
- /**
- * How long the app has been running for in milliseconds.
- * @type {number}
- * @memberof EventApp
- */
- duration?: number;
- /**
- * How long the app has been in the foreground of the device in milliseconds.
- * @type {number}
- * @memberof EventApp
- */
- durationInForeground?: number;
- /**
- * Whether or not the app was in the foreground when the error occurred.
- * @type {boolean}
- * @memberof EventApp
- */
- inForeground?: boolean;
- /**
- * Whether or not the application was still in the process of launching when the event was created.
- * @type {boolean}
- * @memberof EventApp
- */
- isLaunching?: boolean;
- /**
- * The architecture of the running binary (Android only). - `x86` - x86/i386 (32-bit). - `x86_64` - x86 (64-bit). - `arm32` - armeabi/armeabi-v7a (32-bit). - `arm64` - arm64-v8a (64-bit). - `amd64` - amd64 (64-bit).
- * @type {string}
- * @memberof EventApp
- */
- binaryArch?: EventApp.BinaryArchEnum;
- /**
- * Whether or not the application was running through Rosetta (iOS only).
- * @type {boolean}
- * @memberof EventApp
- */
- runningOnRosetta?: boolean;
-}
-
-/**
- * @export
- * @namespace EventApp
- */
-namespace EventApp {
- /**
- * @export
- * @enum {string}
- */
- export enum BinaryArchEnum {
- X86 = "x86",
- X8664 = "x86_64",
- Arm32 = "arm32",
- Arm64 = "arm64",
- Amd64 = "amd64",
- }
-}
-/**
- *
- * @export
- * @interface EventCorrelation
- */
-interface EventCorrelation {
- /**
- * The ID of the OTel trace during which this event occurred
- * @type {string}
- * @memberof EventCorrelation
- */
- traceId?: string;
- /**
- * The ID of the OTel span during which this event occurred
- * @type {string}
- * @memberof EventCorrelation
- */
- spanId?: string;
-}
-/**
- * only include event fields that pertain to the user such as event.user, event.device, and event.request; you may need to remove/redact some fields before giving this data to your users that request it
- * @export
- * @enum {string}
- */
-enum EventDataRequestReportType {
- Gdpr = "gdpr",
-}
-/**
- *
- * @export
- * @interface EventDevice
- */
-interface EventDevice {
- /**
- * A unique identifier for the device.
- * @type {string}
- * @memberof EventDevice
- */
- id?: string;
- /**
- * The hostname of the server running your code, if applicable.
- * @type {string}
- * @memberof EventDevice
- */
- hostname?: string;
- /**
- * The manufacturer of the device.
- * @type {string}
- * @memberof EventDevice
- */
- manufacturer?: string;
- /**
- * The model of the device.
- * @type {string}
- * @memberof EventDevice
- */
- model?: string;
- /**
- * The model number of the device.
- * @type {string}
- * @memberof EventDevice
- */
- modelNumber?: string;
- /**
- * The device's operating system name.
- * @type {string}
- * @memberof EventDevice
- */
- osName?: string;
- /**
- * The device's operating system version.
- * @type {string}
- * @memberof EventDevice
- */
- osVersion?: string;
- /**
- * The number of bytes unused in the device's RAM.
- * @type {number}
- * @memberof EventDevice
- */
- freeMemory?: number;
- /**
- * The number of total bytes in the device's RAM.
- * @type {number}
- * @memberof EventDevice
- */
- totalMemory?: number;
- /**
- * The number of unused bytes on the drive running the application.
- * @type {number}
- * @memberof EventDevice
- */
- freeDisk?: number;
- /**
- * If a web application, the web browser used by the device.
- * @type {string}
- * @memberof EventDevice
- */
- browserName?: string;
- /**
- * If a web application, the version of the browser used by the device.
- * @type {string}
- * @memberof EventDevice
- */
- browserVersion?: string;
- /**
- * Whether or not the device has been modified to give users root access.
- * @type {boolean}
- * @memberof EventDevice
- */
- jailbroken?: boolean;
- /**
- * The orientation of the device at the time of the error.
- * @type {string}
- * @memberof EventDevice
- */
- orientation?: string;
- /**
- * The locale of the device
- * @type {string}
- * @memberof EventDevice
- */
- locale?: string;
- /**
- * Whether the device was charging
- * @type {boolean}
- * @memberof EventDevice
- */
- charging?: boolean;
- /**
- * The battery level of the device as a decimal
- * @type {number}
- * @memberof EventDevice
- */
- batteryLevel?: number;
- /**
- * The time at which the error occurred, in [ISO 8601 format](https://tools.ietf.org/html/rfc3339#section-5.8).
- * @type {Date}
- * @memberof EventDevice
- */
- time?: Date;
- /**
- * The timezone in which the error occurred
- * @type {string}
- * @memberof EventDevice
- */
- timezone?: string;
- /**
- * The [ABIs](https://developer.android.com/ndk/guides/abis) supported by the device (Android only).
- * @type {Array}
- * @memberof EventDevice
- */
- cpuAbi?: Array;
- /**
- * Hash of the versions of the relevant runtimes, languages and/or frameworks for the platform.
- * @type {any}
- * @memberof EventDevice
- */
- runtimeVersions?: any;
- /**
- * The Mac Catalyst version (iOS only).
- * @type {string}
- * @memberof EventDevice
- */
- macCatalystIosVersion?: string;
-}
-/**
- *
- * @export
- * @interface EventException
- */
-interface EventException {
- /**
- *
- * @type {string}
- * @memberof EventException
- */
- errorClass?: string;
- /**
- *
- * @type {string}
- * @memberof EventException
- */
- message?: string;
- /**
- * The type of the exception. `null` if not recorded.
- * @type {string}
- * @memberof EventException
- */
- type?: string;
- /**
- * An array of stack trace objects. Each object represents one line in the exception's stack trace. Bugsnag uses this information to help with error grouping, as well as displaying it to the user.
- * @type {Array}
- * @memberof EventException
- */
- stacktrace?: Array;
- /**
- * An array of register details for minidump stackframes.
- * @type {Array}
- * @memberof EventException
- */
- registers?: Array;
-}
-/**
- *
- * @export
- * @interface EventExceptionRegister
- */
-interface EventExceptionRegister {
- /**
- * The index of the frame in the stacktrace that the registers apply to
- * @type {number}
- * @memberof EventExceptionRegister
- */
- frame_index?: number;
- /**
- * Details of a register
- * @type {Array}
- * @memberof EventExceptionRegister
- */
- register_values?: Array;
-}
-/**
- *
- * @export
- * @interface EventExceptionRegisterValue
- */
-interface EventExceptionRegisterValue {
- /**
- * The name of the register
- * @type {string}
- * @memberof EventExceptionRegisterValue
- */
- register_name?: string;
- /**
- * The value of the register
- * @type {string}
- * @memberof EventExceptionRegisterValue
- */
- register_value?: string;
-}
-/**
- *
- * @export
- * @interface EventExceptionStacktrace
- */
-interface EventExceptionStacktrace {
- /**
- * The line of the file that this frame of the stack was in.
- * @type {number}
- * @memberof EventExceptionStacktrace
- */
- line_number?: number;
- /**
- * The column of the file that this frame of the stack was in.
- * @type {string}
- * @memberof EventExceptionStacktrace
- */
- column_number?: string;
- /**
- * The file that this stack frame was executing
- * @type {string}
- * @memberof EventExceptionStacktrace
- */
- file?: string;
- /**
- * Indicates if this stack trace line is in the project's application code (true) or form a 3rd party library (false).
- * @type {boolean}
- * @memberof EventExceptionStacktrace
- */
- in_project?: boolean;
- /**
- * Path of the code file for the module referenced.
- * @type {string}
- * @memberof EventExceptionStacktrace
- */
- code_file?: string;
- /**
- * Offset of the frame's return address from the base of the line, function, or module in a minidump.
- * @type {string}
- * @memberof EventExceptionStacktrace
- */
- address_offset?: string;
- /**
- *
- * @type {string}
- * @memberof EventExceptionStacktrace
- */
- macho_uuid?: string;
- /**
- * Offset of the frame's return address from the base of the line, function, or module.
- * @type {string}
- * @memberof EventExceptionStacktrace
- */
- relative_address?: string;
- /**
- * The frame's return address from the base of the line, function, or module in a minidump.
- * @type {string}
- * @memberof EventExceptionStacktrace
- */
- frame_address?: string;
- /**
- * The method that this particular stack frame is within.
- * @type {string}
- * @memberof EventExceptionStacktrace
- */
- method?: string;
- /**
- * A link to the affected line of code in source control.
- * @type {string}
- * @memberof EventExceptionStacktrace
- */
- source_control_link?: string;
- /**
- * The name of the source control service being used.
- * @type {string}
- * @memberof EventExceptionStacktrace
- */
- source_control_name?: string;
- /**
- * Indicates if this is an inlined function
- * @type {boolean}
- * @memberof EventExceptionStacktrace
- */
- inlined?: boolean;
- /**
- * The code in the file surrounding this line, with up to three lines on either side of the line that crashed.
- * @type {any}
- * @memberof EventExceptionStacktrace
- */
- code?: any;
-}
-/**
- *
- * @export
- * @interface EventField
- */
-export interface EventField {
- /**
- * Whether the field is a custom event field created by your organization
- * @type {boolean}
- * @memberof EventField
- */
- custom?: boolean;
- /**
- * Identifier which is the key to use for filtering by this field
- * @type {string}
- * @memberof EventField
- */
- display_id?: string;
- /**
- *
- * @type {EventFieldFilterOptions}
- * @memberof EventField
- */
- filter_options: EventFieldFilterOptions;
- /**
- * Possible values for this filter, only if this filter has a finite set of values
- * @type {Array}
- * @memberof EventField
- */
- values?: Array;
- /**
- * The valid match types when filtering by this field - eq - Results must equal the value - ne - Results must not equal the value
- * @type {Array}
- * @memberof EventField
- */
- match_types?: Array;
- /**
- *
- * @type {PivotOptions}
- * @memberof EventField
- */
- pivot_options: PivotOptions;
- /**
- * Whether a reindex of this field is currently in progress (applicable to custom fields only)
- * @type {boolean}
- * @memberof EventField
- */
- reindex_in_progress?: boolean;
- /**
- * The percentage complete of the reindexing of this field (applicable to custom fields only)
- * @type {number}
- * @memberof EventField
- */
- reindex_percentage?: number;
-}
-
-/**
- * @export
- * @namespace EventField
- */
-namespace EventField {
- /**
- * @export
- * @enum {string}
- */
- export enum MatchTypesEnum {
- Eq = "eq",
- Ne = "ne",
- }
-}
-/**
- *
- * @export
- * @interface EventFieldCreateRequest
- */
-interface EventFieldCreateRequest {
- /**
- * [Path](https://docs.bugsnag.com/product/custom-filters/advanced-custom-filters/#custom-filter-path) to locate the relevant data inside an Event data structure
- * @type {string}
- * @memberof EventFieldCreateRequest
- */
- path: string;
- /**
- * Whether to reindex historical events for this field
- * @type {boolean}
- * @memberof EventFieldCreateRequest
- */
- reindex?: boolean;
- /**
- *
- * @type {EventFieldCreateRequestFilterOptions}
- * @memberof EventFieldCreateRequest
- */
- filter_options: EventFieldCreateRequestFilterOptions;
- /**
- *
- * @type {PivotOptions}
- * @memberof EventFieldCreateRequest
- */
- pivot_options?: PivotOptions;
-}
-/**
- *
- * @export
- * @interface EventFieldCreateRequestFilterOptions
- */
-interface EventFieldCreateRequestFilterOptions {
- /**
- * Human readable name for the filter
- * @type {string}
- * @memberof EventFieldCreateRequestFilterOptions
- */
- name?: string;
-}
-/**
- *
- * @export
- * @interface EventFieldFilterOptions
- */
-interface EventFieldFilterOptions {
- /**
- * Human readable display name for the filter
- * @type {string}
- * @memberof EventFieldFilterOptions
- */
- name: string;
- /**
- * Description of what the filter is
- * @type {string}
- * @memberof EventFieldFilterOptions
- */
- description?: string;
- /**
- * Other possible names that match this field when filtering
- * @type {Array}
- * @memberof EventFieldFilterOptions
- */
- aliases?: Array;
- /**
- * Hint text to clarify the use of the field for filtering
- * @type {string}
- * @memberof EventFieldFilterOptions
- */
- hint_text?: string;
- /**
- * Link to Bugsnag documentation about this filter
- * @type {string}
- * @memberof EventFieldFilterOptions
- */
- hint_url?: string;
-}
-/**
- *
- * @export
- * @interface EventRequest
- */
-interface EventRequest {
- /**
- * The URL the request was made to
- * @type {string}
- * @memberof EventRequest
- */
- url?: string;
- /**
- * The IP making the request
- * @type {string}
- * @memberof EventRequest
- */
- clientIp?: string;
- /**
- * The HTTP method used for the request
- * @type {string}
- * @memberof EventRequest
- */
- httpMethod?: string;
- /**
- * The URL referring the user
- * @type {string}
- * @memberof EventRequest
- */
- referer?: string;
- /**
- * Hash of headers sent with the request
- * @type {any}
- * @memberof EventRequest
- */
- headers?: any;
- /**
- * Hash of parameter sent with the request
- * @type {any}
- * @memberof EventRequest
- */
- params?: any;
-}
-/**
- *
- * @export
- * @interface EventThread
- */
-interface EventThread {
- /**
- * The id of the thread in the application.
- * @type {number}
- * @memberof EventThread
- */
- id?: number;
- /**
- * A human readable name for the thread.
- * @type {string}
- * @memberof EventThread
- */
- name?: string;
- /**
- * The type of the thread
- * @type {string}
- * @memberof EventThread
- */
- type?: string;
- /**
- * An array of stack trace objects. Each object represents one line in the exception's stack trace. Bugsnag uses this information to help with error grouping, as well as displaying it to the user.
- * @type {Array}
- * @memberof EventThread
- */
- stacktrace?: Array;
- /**
- * Indicates if this is the thread from which the error was reported.
- * @type {boolean}
- * @memberof EventThread
- */
- error_reporting_thread?: boolean;
- /**
- * The state of the thread
- * @type {string}
- * @memberof EventThread
- */
- state?: string;
-}
-/**
- *
- * @export
- * @interface EventUser
- */
-interface EventUser {
- /**
- * A unique identifier for a user affected by this event. This could be any distinct identifier that makes sense for your application/platform.
- * @type {string}
- * @memberof EventUser
- */
- id?: string;
- /**
- * The user's name, or a string you use to identify them.
- * @type {string}
- * @memberof EventUser
- */
- name?: string;
- /**
- * The user's email address.
- * @type {string}
- * @memberof EventUser
- */
- email?: string;
-}
-/**
- *
- * @export
- * @interface FeatureFlagSummary
- */
-interface FeatureFlagSummary {
- /**
- * The ID of the feature flag.
- * @type {string}
- * @memberof FeatureFlagSummary
- */
- id: string;
- /**
- * The name of the feature flag.
- * @type {string}
- * @memberof FeatureFlagSummary
- */
- name: string;
-}
-/**
- * - eq - Filter for items that \"match\" (exact match or substring match depending on the field) the value - ne - Filter for items that don't match the value
- * @export
- * @enum {string}
- */
-enum FilterMatchType {
- Eq = "eq",
- Ne = "ne",
-}
-/**
- *
- * @export
- * @interface FilterValue
- */
-interface FilterValue {
- /**
- * The identifier to use when filtering by this value
- * @type {string}
- * @memberof FilterValue
- */
- id?: string;
- /**
- * A human readable representation of this value
- * @type {string}
- * @memberof FilterValue
- */
- name?: string;
-}
-/**
- *
- * @export
- * @interface Filters
- */
-interface Filters {
- /**
- * An array of user ids. Matches Errors affecting any of these users. This refers to user ids in the context of your application. Exact match only.
- * @type {Array}
- * @memberof Filters
- */
- user_id?: Array;
- /**
- * An array of email addresses. Matches Errors that have affected users with email addresses matching any of the provided emails. Supports substring matches.
- * @type {Array}
- * @memberof Filters
- */
- user_email?: Array;
- /**
- * An array of user names. Matches Errors that have affected users with names matching any of the provided names. Supports substring matches.
- * @type {Array}
- * @memberof Filters
- */
- user_name?: Array;
- /**
- * An array of error ids. Matches errors with IDs matching any of the given error IDs. Exact match only.
- * @type {Array}
- * @memberof Filters
- */
- error_id?: Array;
- /**
- * An array of error statuses. Matches Errors that have any of the given statuses. Exact match only.
- * @type {Array}
- * @memberof Filters
- */
- error_status?: Array;
- /**
- * An array of collaborator identifiers. Matches Errors that have been assigned to any of the given collaborators. Exact match only. Values can be `me` (for errors assigned to the current user), `anyone` (for errors assigned to anyone), a collaborator ID, or an email address.
- * @type {Array}
- * @memberof Filters
- */
- error_assigned_to?: Array;
- /**
- * If set to true, matches Errors that have had an issue created for them. If set to false, matches Errors that have not had an issue created for them.
- * @type {boolean}
- * @memberof Filters
- */
- error_has_issue?: boolean;
- /**
- * An array of release stages. Matches Errors that have occurred in any of the given release stages. Exact match only.
- * @type {Array}
- * @memberof Filters
- */
- app_release_stage?: Array;
- /**
- * An array of application contexts. This refers to the action that was happening when the event occurred. Matches Errors that occurred in any of the given contexts. Supports substring matches.
- * @type {Array}
- * @memberof Filters
- */
- app_context?: Array;
- /**
- * An array of application types. Matches Errors that occurred in any of the given application types. Exact match only.
- * @type {Array}
- * @memberof Filters
- */
- app_type?: Array;
- /**
- * An array of application versions. Matches Errors that occurred for the first time in any of the given versions. Supports the `?` and `*` wildcards.
- * @type {Array}
- * @memberof Filters
- */
- version_introduced_in?: Array;
- /**
- * An array of application versions. Matches Errors that occurred in any of the given versions. Supports the `?` and `*` wildcards.
- * @type {Array}
- * @memberof Filters
- */
- version_seen_in?: Array;
- /**
- * An array of version codes. Matches Errors that occurred for the first time in a version of the application identified by any of the given versions codes. The value of an Error's versionCode depends on the corresponding Project's type. In Android apps this will match the versionCode setting. In iOS apps, versionCode is taken from the Build Number setting. Exact match only.
- * @type {Array}
- * @memberof Filters
- */
- version_code_introduced_in?: Array;
- /**
- * An array of version codes. Matches Errors that occurred in a version of the application identified by any of the given versions codes. The value of an Error's versionCode depends on the corresponding Project's type. In Android apps this will match the versionCode setting. In iOS apps, versionCode is taken from the Build Number setting. Exact match only.
- * @type {Array}
- * @memberof Filters
- */
- version_code_seen_in?: Array;
- /**
- * An array of Release `build_label`s, `app_version`s, `app_version_code`s, or `app_bundle_version`s. Matches Errors that occurred for the first time in any of the given Releases. Supports the `?` and `*` wildcards.
- * @type {Array}
- * @memberof Filters
- */
- release_introduced_in?: Array;
- /**
- * An array of Release `build_label`s, `app_version`s, `app_version_code`s, or `app_bundle_version`s. Matches Errors that occurred in any of the given Releases. Supports the `?` and `*` wildcards.
- * @type {Array}
- * @memberof Filters
- */
- release_seen_in?: Array;
- /**
- * An array of classes. Matches Errors with any of the given classes. Supports substring matches.
- * @type {Array}
- * @memberof Filters
- */
- event_class?: Array;
- /**
- * An array of messages. Matches Errors with any of the given messages. Supports substring matches.
- * @type {Array}
- * @memberof Filters
- */
- event_message?: Array;
- /**
- * An array of file paths. Matches Errors with any of the given files in their stack traces'. Supports substring matches.
- * @type {Array}
- * @memberof Filters
- */
- event_file?: Array;
- /**
- * An array of method names. Matches Errors with any of the given methods in their stack traces'. Supports substring matches.
- * @type {Array}
- * @memberof Filters
- */
- event_method?: Array;
- /**
- * An array of severities. Matches Errors with any of the given severities. Exact match only.
- * @type {Array}
- * @memberof Filters
- */
- event_severity?: Array;
- /**
- * An array containing a single timestamp. Matches Errors with events occurring after the given time. Exact match only.
- * @type {Array}
- * @memberof Filters
- */
- event_since?: Array;
- /**
- * An array containing a single timestamp. Matches Errors with events occurring before the given time. Exact match only.
- * @type {Array}
- * @memberof Filters
- */
- event_before?: Array;
- /**
- * An array containing web browser names. Matches Errors with events originating from any of the given web browsers. Exact match only.
- * @type {Array}
- * @memberof Filters
- */
- browser_name?: Array;
- /**
- * An array containing web browser versions. Matches Errors with events originating from any browser with the given version. Exact match only.
- * @type {Array}
- * @memberof Filters
- */
- browser_version?: Array;
- /**
- * An array containing operating system names. Matches Errors with events originating from devices running any of the given operating systems. Exact match only.
- * @type {Array}
- * @memberof Filters
- */
- os_name?: Array;
- /**
- * An array containing operating system versions. Matches Errors with events originating from devices running any of the given operating system versions. Supports the `?` and `*` wildcards.
- * @type {Array}
- * @memberof Filters
- */
- os_version?: Array;
- /**
- * An array containing hostnames. Matches Errors with events occurring on any hosts with one of the given hostnames. Exact match only.
- * @type {Array}
- * @memberof Filters
- */
- device_hostname?: Array;
- /**
- * An array containing device manufacturer names. Matches Errors with events occurring on any devices made by the given manufacturers. Exact match only.
- * @type {Array}
- * @memberof Filters
- */
- device_manufacturer?: Array;
- /**
- * An array containing device model names. Matches Errors with events occurring on any of the given device models. Exact match only.
- * @type {Array}
- * @memberof Filters
- */
- device_model?: Array;
- /**
- * An array of URLs. Matches Errors with events associated with requests to any of the given URLs. Supports substring matches.
- * @type {Array}
- * @memberof Filters
- */
- request_url?: Array;
- /**
- * An array of IP addresses. Matches Errors with events affecting any of the given IPs. Exact match only.
- * @type {Array}
- * @memberof Filters
- */
- request_ip?: Array;
- /**
- * An array containing a boolean. If `true`, matches Errors with events occurring on jailbroken devices.
- * @type {Array}
- * @memberof Filters
- */
- device_jailbroken?: Array;
- /**
- * An array containing a boolean. If `true`, matches Errors with events occurring when the application was in the foreground.
- * @type {Array}
- * @memberof Filters
- */
- app_in_foreground?: Array;
-}
-/**
- *
- * @export
- * @interface FiltersAppContext
- */
-interface FiltersAppContext {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersAppContext
- */
- type: FilterMatchType;
- /**
- * Application context
- * @type {string}
- * @memberof FiltersAppContext
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersAppInForeground
- */
-interface FiltersAppInForeground {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersAppInForeground
- */
- type: FilterMatchType;
- /**
- * Foreground status
- * @type {string}
- * @memberof FiltersAppInForeground
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersAppReleaseStage
- */
-interface FiltersAppReleaseStage {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersAppReleaseStage
- */
- type: FilterMatchType;
- /**
- * Release stage
- * @type {string}
- * @memberof FiltersAppReleaseStage
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersAppType
- */
-interface FiltersAppType {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersAppType
- */
- type: FilterMatchType;
- /**
- * Application type
- * @type {string}
- * @memberof FiltersAppType
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersBrowserName
- */
-interface FiltersBrowserName {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersBrowserName
- */
- type: FilterMatchType;
- /**
- * Browser name
- * @type {string}
- * @memberof FiltersBrowserName
- */
- value: FiltersBrowserName.ValueEnum;
-}
-
-/**
- * @export
- * @namespace FiltersBrowserName
- */
-namespace FiltersBrowserName {
- /**
- * @export
- * @enum {string}
- */
- export enum ValueEnum {
- Chrome = "Chrome",
- Firefox = "Firefox",
- Safari = "Safari",
- Opera = "Opera",
- }
-}
-/**
- *
- * @export
- * @interface FiltersBrowserVersion
- */
-interface FiltersBrowserVersion {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersBrowserVersion
- */
- type: FilterMatchType;
- /**
- * Browser version
- * @type {string}
- * @memberof FiltersBrowserVersion
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersDeviceHostname
- */
-interface FiltersDeviceHostname {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersDeviceHostname
- */
- type: FilterMatchType;
- /**
- * Device hostname
- * @type {string}
- * @memberof FiltersDeviceHostname
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersDeviceJailbroken
- */
-interface FiltersDeviceJailbroken {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersDeviceJailbroken
- */
- type: FilterMatchType;
- /**
- * Jailbroken status
- * @type {string}
- * @memberof FiltersDeviceJailbroken
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersDeviceManufacturer
- */
-interface FiltersDeviceManufacturer {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersDeviceManufacturer
- */
- type: FilterMatchType;
- /**
- * Device manufacturer
- * @type {string}
- * @memberof FiltersDeviceManufacturer
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersDeviceModel
- */
-interface FiltersDeviceModel {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersDeviceModel
- */
- type: FilterMatchType;
- /**
- * Device model
- * @type {string}
- * @memberof FiltersDeviceModel
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersErrorAssignedTo
- */
-interface FiltersErrorAssignedTo {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersErrorAssignedTo
- */
- type: FilterMatchType;
- /**
- * Collaborator ID
- * @type {string}
- * @memberof FiltersErrorAssignedTo
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersErrorId
- */
-interface FiltersErrorId {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersErrorId
- */
- type: FilterMatchType;
- /**
- * Error ID
- * @type {string}
- * @memberof FiltersErrorId
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersErrorStatus
- */
-interface FiltersErrorStatus {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersErrorStatus
- */
- type: FilterMatchType;
- /**
- *
- * @type {ErrorStatus}
- * @memberof FiltersErrorStatus
- */
- value: ErrorStatus;
-}
-/**
- *
- * @export
- * @interface FiltersEventClass
- */
-interface FiltersEventClass {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersEventClass
- */
- type: FilterMatchType;
- /**
- * Event class
- * @type {string}
- * @memberof FiltersEventClass
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersEventFile
- */
-interface FiltersEventFile {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersEventFile
- */
- type: FilterMatchType;
- /**
- * File path
- * @type {string}
- * @memberof FiltersEventFile
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersEventMessage
- */
-interface FiltersEventMessage {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersEventMessage
- */
- type: FilterMatchType;
- /**
- * Event message
- * @type {string}
- * @memberof FiltersEventMessage
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersEventMethod
- */
-interface FiltersEventMethod {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersEventMethod
- */
- type: FilterMatchType;
- /**
- * Method name
- * @type {string}
- * @memberof FiltersEventMethod
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersEventSeverity
- */
-interface FiltersEventSeverity {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersEventSeverity
- */
- type: FilterMatchType;
- /**
- *
- * @type {SeverityOptions}
- * @memberof FiltersEventSeverity
- */
- value: SeverityOptions;
-}
-/**
- *
- * @export
- * @interface FiltersEventSince
- */
-interface FiltersEventSince {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersEventSince
- */
- type: FilterMatchType;
- /**
- * Timestamp
- * @type {string}
- * @memberof FiltersEventSince
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersOsName
- */
-interface FiltersOsName {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersOsName
- */
- type: FilterMatchType;
- /**
- * Operating system name
- * @type {string}
- * @memberof FiltersOsName
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersOsVersion
- */
-interface FiltersOsVersion {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersOsVersion
- */
- type: FilterMatchType;
- /**
- * Operating system version
- * @type {string}
- * @memberof FiltersOsVersion
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersReleaseIntroducedIn
- */
-interface FiltersReleaseIntroducedIn {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersReleaseIntroducedIn
- */
- type: FilterMatchType;
- /**
- * Release identifier
- * @type {string}
- * @memberof FiltersReleaseIntroducedIn
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersRequestIp
- */
-interface FiltersRequestIp {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersRequestIp
- */
- type: FilterMatchType;
- /**
- * IP address
- * @type {string}
- * @memberof FiltersRequestIp
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersRequestUrl
- */
-interface FiltersRequestUrl {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersRequestUrl
- */
- type: FilterMatchType;
- /**
- * Request URL
- * @type {string}
- * @memberof FiltersRequestUrl
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersUserEmail
- */
-interface FiltersUserEmail {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersUserEmail
- */
- type: FilterMatchType;
- /**
- * User email
- * @type {string}
- * @memberof FiltersUserEmail
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersUserId
- */
-interface FiltersUserId {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersUserId
- */
- type: FilterMatchType;
- /**
- * User ID
- * @type {string}
- * @memberof FiltersUserId
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersUserName
- */
-interface FiltersUserName {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersUserName
- */
- type: FilterMatchType;
- /**
- * User name
- * @type {string}
- * @memberof FiltersUserName
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersVersionCodeIntroducedIn
- */
-interface FiltersVersionCodeIntroducedIn {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersVersionCodeIntroducedIn
- */
- type: FilterMatchType;
- /**
- * Version code
- * @type {string}
- * @memberof FiltersVersionCodeIntroducedIn
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersVersionIntroducedIn
- */
-interface FiltersVersionIntroducedIn {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersVersionIntroducedIn
- */
- type: FilterMatchType;
- /**
- * Application version
- * @type {string}
- * @memberof FiltersVersionIntroducedIn
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FiltersVersionSeenIn
- */
-interface FiltersVersionSeenIn {
- /**
- *
- * @type {FilterMatchType}
- * @memberof FiltersVersionSeenIn
- */
- type: FilterMatchType;
- /**
- * Application version
- * @type {string}
- * @memberof FiltersVersionSeenIn
- */
- value: string;
-}
-/**
- *
- * @export
- * @interface FrameRateStatistics
- */
-interface FrameRateStatistics {
- /**
- * The P50 of frames
- * @type {number}
- * @memberof FrameRateStatistics
- */
- p50: number;
- /**
- * The P75 of frames
- * @type {number}
- * @memberof FrameRateStatistics
- */
- p75: number;
- /**
- * The P90 of frames
- * @type {number}
- * @memberof FrameRateStatistics
- */
- p90: number;
- /**
- * The P95 of frames
- * @type {number}
- * @memberof FrameRateStatistics
- */
- p95: number;
- /**
- * The P99 of frames
- * @type {number}
- * @memberof FrameRateStatistics
- */
- p99: number;
-}
-
-/**
- *
- * @export
- * @interface NetworkGroupingRulesetRequest
- */
-interface NetworkGroupingRulesetRequest {
- /**
- * The URL patterns by which network spans are grouped.
- * @type {Array}
- * @memberof NetworkGroupingRulesetRequest
- */
- endpoints: Array;
-}
-
-/**
- *
- * @export
- * @interface OrganizationApiView
- */
-export interface OrganizationApiView extends OrganizationBase {
- /**
- *
- * @type {string}
- * @memberof OrganizationApiView
- */
- id: string;
- /**
- *
- * @type {string}
- * @memberof OrganizationApiView
- */
- slug: string;
- /**
- * The notifier API used to send traces to this organization.
- * @type {string}
- * @memberof OrganizationApiView
- */
- api_key?: string;
- /**
- *
- * @type {OrganizationApiViewCreator}
- * @memberof OrganizationApiView
- */
- creator?: OrganizationApiViewCreator;
- /**
- * API URL for the Organization's Collaborators.
- * @type {string}
- * @memberof OrganizationApiView
- */
- collaborators_url?: string;
- /**
- * API URL for the Organization's Projects.
- * @type {string}
- * @memberof OrganizationApiView
- */
- projects_url?: string;
- /**
- *
- * @type {Date}
- * @memberof OrganizationApiView
- */
- created_at: Date;
- /**
- *
- * @type {Date}
- * @memberof OrganizationApiView
- */
- updated_at: Date;
- /**
- *
- * @type {string}
- * @memberof OrganizationApiView
- */
- upgrade_url?: string;
- /**
- * Whether the organization is managed by SmartBear Platform Services.
- * @type {boolean}
- * @memberof OrganizationApiView
- */
- managed_by_platform_services: boolean;
-}
-/**
- *
- * @export
- * @interface OrganizationApiViewCreator
- */
-interface OrganizationApiViewCreator {
- /**
- *
- * @type {string}
- * @memberof OrganizationApiViewCreator
- */
- email?: string;
- /**
- *
- * @type {string}
- * @memberof OrganizationApiViewCreator
- */
- id?: string;
- /**
- *
- * @type {string}
- * @memberof OrganizationApiViewCreator
- */
- name?: string;
-}
-/**
- *
- * @export
- * @interface OrganizationBase
- */
-interface OrganizationBase {
- /**
- *
- * @type {string}
- * @memberof OrganizationBase
- */
- name: string;
- /**
- *
- * @type {Array}
- * @memberof OrganizationBase
- */
- billing_emails?: Array;
- /**
- * whether we should upgrade your plan in response to the organization reaching its plan limit of events. If this value is `false` your events will be throttled when you reach your plan limit.
- * @type {boolean}
- * @memberof OrganizationBase
- */
- auto_upgrade: boolean;
-}
-/**
- *
- * @export
- * @enum {string}
- */
-enum PerformanceDisplayType {
- Js = "js",
- Mobile = "mobile",
- Server = "server",
- WebserverBackend = "webserver_backend",
- WebserverFrontend = "webserver_frontend",
- WebserverMixed = "webserver_mixed",
- Unsupported = "unsupported",
-}
-/**
- *
- * @export
- * @interface PerformanceFilter
- */
-interface PerformanceFilter {
- /**
- * Identifier that is used as the key when filtering by this field.
- * @type {string}
- * @memberof PerformanceFilter
- */
- key: string;
- /**
- * The values to filter by.
- * @type {Array}
- * @memberof PerformanceFilter
- */
- filter_values?: Array;
-}
-/**
- *
- * @export
- * @interface PerformanceFilterValue
- */
-interface PerformanceFilterValue {
- /**
- *
- * @type {string}
- * @memberof PerformanceFilterValue
- */
- value: string;
- /**
- * - eq - Filter for items that match the value - ne - Filter for items that don't match the value - lt - Filter for items that are less than the value - gt - Filter for items that are greater than the value - empty - Filter for items that are not populated or missing
- * @type {string}
- * @memberof PerformanceFilterValue
- */
- match_type: PerformanceFilterValue.MatchTypeEnum;
-}
-
-/**
- * @export
- * @namespace PerformanceFilterValue
- */
-namespace PerformanceFilterValue {
- /**
- * @export
- * @enum {string}
- */
- export enum MatchTypeEnum {
- Eq = "eq",
- Ne = "ne",
- Lt = "lt",
- Gt = "gt",
- Empty = "empty",
- }
-}
-/**
- *
- * @export
- * @interface PerformanceTarget
- */
-interface PerformanceTarget {
- /**
- * The ID of the Performance Target.
- * @type {string}
- * @memberof PerformanceTarget
- */
- id: string;
- /**
- * The ID of the Project that the Performance Target belongs to.
- * @type {string}
- * @memberof PerformanceTarget
- */
- project_id: string;
- /**
- *
- * @type {PerformanceTargetType}
- * @memberof PerformanceTarget
- */
- type: PerformanceTargetType;
- /**
- *
- * @type {PerformanceTargetSpanGroupDetails}
- * @memberof PerformanceTarget
- */
- span_group: PerformanceTargetSpanGroupDetails;
- /**
- *
- * @type {PerformanceTargetConfiguration}
- * @memberof PerformanceTarget
- */
- config: PerformanceTargetConfiguration;
-}
-/**
- *
- * @export
- * @interface PerformanceTargetConfiguration
- */
-interface PerformanceTargetConfiguration {
- /**
- * The state of the Performance Target.
- * @type {string}
- * @memberof PerformanceTargetConfiguration
- */
- state: PerformanceTargetConfiguration.StateEnum;
- /**
- *
- * @type {PerformanceTargetConfigurationThreshold}
- * @memberof PerformanceTargetConfiguration
- */
- warning_performance?: PerformanceTargetConfigurationThreshold;
- /**
- *
- * @type {PerformanceTargetConfigurationThreshold}
- * @memberof PerformanceTargetConfiguration
- */
- critical_performance?: PerformanceTargetConfigurationThreshold;
-}
-
-/**
- * @export
- * @namespace PerformanceTargetConfiguration
- */
-namespace PerformanceTargetConfiguration {
- /**
- * @export
- * @enum {string}
- */
- export enum StateEnum {
- Enabled = "enabled",
- Disabled = "disabled",
- }
-}
-/**
- *
- * @export
- * @interface PerformanceTargetConfigurationThreshold
- */
-interface PerformanceTargetConfigurationThreshold {
- /**
- * The duration threshold in milliseconds.
- * @type {number}
- * @memberof PerformanceTargetConfigurationThreshold
- */
- duration: number;
-}
-/**
- *
- * @export
- * @interface PerformanceTargetSpanGroupDetails
- */
-interface PerformanceTargetSpanGroupDetails {
- /**
- *
- * @type {SpanGroupCategory}
- * @memberof PerformanceTargetSpanGroupDetails
- */
- category: SpanGroupCategory;
- /**
- * The ID of the Span Group. Required when Performance Target type is span_group.
- * @type {string}
- * @memberof PerformanceTargetSpanGroupDetails
- */
- id?: string;
- /**
- * The name of the Span Group for display purposes. Required when Performance Target type is span_group.
- * @type {string}
- * @memberof PerformanceTargetSpanGroupDetails
- */
- display_name?: string;
-}
-/**
- *
- * @export
- * @enum {string}
- */
-enum PerformanceTargetType {
- Category = "category",
- SpanGroup = "span_group",
-}
-/**
- *
- * @export
- * @interface PivotApiView
- */
-export interface PivotApiView {
- /**
- * the ID of the Event Field that this Pivot describes
- * @type {string}
- * @memberof PivotApiView
- */
- event_field_display_id: string;
- /**
- *
- * @type {string}
- * @memberof PivotApiView
- */
- name: string;
- /**
- * how many unique values of the given Event Field are present in the Events matching the provided Filters. For example, in the case of the `app.release_stage` Pivot, if the Events matching the provided Filters occurred only in production and staging, then the cardinality would be 2. Applicable to some Event Fields.
- * @type {number}
- * @memberof PivotApiView
- */
- cardinality?: number;
- /**
- * A summary of the top values for this Pivot. Applicable to some Event Fields.
- * @type {any}
- * @memberof PivotApiView
- */
- summary?: any;
- /**
- * A list of the values of the Event Field which have had the most occurrences. The data in this list along with the `no_value` and `other` properties will account for all of the occurrences of the Event that match the Filters.
- * @type {Array}
- * @memberof PivotApiView
- */
- list?: Array;
- /**
- * The number of Events that matched the provided Filters that had no value for the given Event Field
- * @type {number}
- * @memberof PivotApiView
- */
- no_value?: number;
- /**
- * The number of Events that matched the provided Filters that had a value for the given Event Field other than those described in `list`
- * @type {number}
- * @memberof PivotApiView
- */
- other?: number;
- /**
- * The average value for the given Event Field. Applicable to some Event Fields. This will be null if there is no average value (if there are no values to be averaged).
- * @type {number}
- * @memberof PivotApiView
- */
- average?: number;
-}
-/**
- *
- * @export
- * @interface PivotApiViewList
- */
-interface PivotApiViewList {
- /**
- * A particular value for the given Event Field
- * @type {string}
- * @memberof PivotApiViewList
- */
- value?: string;
- /**
- * The number of Events that matched the provided Filters that had this value for the given Event Field
- * @type {number}
- * @memberof PivotApiViewList
- */
- events?: number;
-}
-/**
- *
- * @export
- * @interface PivotOptions
- */
-interface PivotOptions {
- /**
- * Human readable display name of the pivot.
- * @type {string}
- * @memberof PivotOptions
- */
- name?: string;
- /**
- * Additional fields that are displayed in the pivot tab, for example the users pivot displays user name and email in addition to ID.
- * @type {Array}
- * @memberof PivotOptions
- */
- fields?: Array;
- /**
- * Whether this field is displayed in the error summary section of the dashboard
- * @type {boolean}
- * @memberof PivotOptions
- */
- summary?: boolean;
- /**
- * Whether this field is displayed as a pivot tab in the dashboard
- * @type {boolean}
- * @memberof PivotOptions
- */
- values?: boolean;
- /**
- * Whether the unique values of this field are calculated
- * @type {boolean}
- * @memberof PivotOptions
- */
- cardinality?: boolean;
- /**
- * Whether an average value of this field is calculated
- * @type {boolean}
- * @memberof PivotOptions
- */
- average?: boolean;
-}
-/**
- *
- * @export
- * @interface ProjectApiView
- */
-export interface ProjectApiView extends ProjectBase {
- /**
- *
- * @type {string}
- * @memberof ProjectApiView
- */
- id?: string;
- /**
- *
- * @type {string}
- * @memberof ProjectApiView
- */
- organization_id?: string;
- /**
- *
- * @type {ProjectType}
- * @memberof ProjectApiView
- */
- type?: ProjectType;
- /**
- *
- * @type {PerformanceDisplayType}
- * @memberof ProjectApiView
- */
- performance_display_type?: PerformanceDisplayType;
- /**
- * unique, human-readable identifier that can be used in place of `id` in URLs
- * @type {string}
- * @memberof ProjectApiView
- */
- slug?: string;
- /**
- * the notifier API key used to configure the [notifier library](https://docs.bugsnag.com/platforms/) being used to report errors in the project
- * @type {string}
- * @memberof ProjectApiView
- */
- api_key?: string;
- /**
- * Always true for this endpoint. Used to differentiate between terse and complete project representations.
- * @type {boolean}
- * @memberof ProjectApiView
- */
- is_full_view?: boolean;
- /**
- * The release stages for which this project has received events. This will be an array of strings whose values will depend on your Project.
- * @type {Array}
- * @memberof ProjectApiView
- */
- release_stages?: Array;
- /**
- * The Project's programming language as derived from the framework represented in the `type` field
- * @type {string}
- * @memberof ProjectApiView
- */
- language?: string;
- /**
- * The time of the Project's creation.
- * @type {string}
- * @memberof ProjectApiView
- */
- created_at?: string;
- /**
- * The time the Project was last modified.
- * @type {string}
- * @memberof ProjectApiView
- */
- updated_at?: string;
- /**
- * The API URL for the Project.
- * @type {string}
- * @memberof ProjectApiView
- */
- url?: string;
- /**
- * The dashboard URL for the project.
- * @type {string}
- * @memberof ProjectApiView
- */
- html_url?: string;
- /**
- * The API URL for the Project's Errors.
- * @type {string}
- * @memberof ProjectApiView
- */
- errors_url?: string;
- /**
- * The API URL for the Project's Events.
- * @type {string}
- * @memberof ProjectApiView
- */
- events_url?: string;
- /**
- * The number of open errors the Project has. Considers all events currently stored for the Project.
- * @type {number}
- * @memberof ProjectApiView
- */
- open_error_count?: number;
- /**
- * The number of errors for review the Project has. Considers all events currently stored for the Project.
- * @type {number}
- * @memberof ProjectApiView
- */
- for_review_error_count?: number;
- /**
- * The number of collaborators with access to the Project.
- * @type {number}
- * @memberof ProjectApiView
- */
- collaborators_count?: number;
- /**
- * The number of teams with access to the Project.
- * @type {number}
- * @memberof ProjectApiView
- */
- teams_count?: number;
- /**
- * The count of how many [Custom Filters](https://docs.bugsnag.com/product/custom-filters/) have been created for the Project.
- * @type {number}
- * @memberof ProjectApiView
- */
- custom_event_fields_used?: number;
- /**
- * The details of the ECMAScript version used to parse JavaScript events. Only present for Browser JavaScript Projects.
- * @type {any}
- * @memberof ProjectApiView
- */
- ecmascript_parse_version?: any;
- /**
- * Whether the project should use stability targets based on sessions or users. Values are `user` or `session`.
- * @type {string}
- * @memberof ProjectApiView
- */
- stability_target_type?: string;
- /**
- *
- * @type {StabilityTarget}
- * @memberof ProjectApiView
- */
- target_stability?: StabilityTarget;
- /**
- *
- * @type {StabilityTarget}
- * @memberof ProjectApiView
- */
- critical_stability?: StabilityTarget;
-}
-/**
- *
- * @export
- * @interface ProjectBase
- */
-interface ProjectBase {
- /**
- *
- * @type {string}
- * @memberof ProjectBase
- */
- name?: string;
- /**
- * A list of error classes. Events with these classes will be grouped by their class, regardless of the location that they occur in the Project's source code. Altering a Project's `global_grouping` will not cause existing errors to be regrouped. Note: In the UI this is referred to as grouping by error class. Example: ``` [\"foo\", \"bar\"] ```
- * @type {Array}
- * @memberof ProjectBase
- */
- global_grouping?: Array;
- /**
- * A list of error classes. Events with these classes will be grouped by their `context`. Altering a Project's `location_grouping` will not cause existing errors to be regrouped. Note: In the UI this is referred to as grouping by error context.
- * @type {Array}
- * @memberof ProjectBase
- */
- location_grouping?: Array;
- /**
- * A list of app versions whose events will be [discarded](https://docs.bugsnag.com/product/event-usage/#discard-by-app-version) if received for the Project. Supports [regular expressions](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/RegExp#Special_characters_meaning_in_regular_expressions) and [semver ranges](https://github.com/npm/node-semver#ranges). Errors matching these versions won't be processed by Bugsnag, and you won't receive notifications about them.
- * @type {Array}
- * @memberof ProjectBase
- */
- discarded_app_versions?: Array;
- /**
- * A list of Error classes whose events will be [discarded](https://docs.bugsnag.com/product/event-usage/#discard-by-error-class) if received for the Project. Errors with these classes won't be processed by Bugsnag, and you won't receive notifications about them.
- * @type {Array}
- * @memberof ProjectBase
- */
- discarded_errors?: Array;
- /**
- * When configured, the script source of each error's innermost stack trace's top frame is checked. If the script was not served from a matching domain the error will not be processed by BugSnag and will be discarded. Provide a list of newline separated domain names. To match example.com and its subdomains specify *.example.com. Relevant to JavaScript Projects only.
- * @type {Array}
- * @memberof ProjectBase
- */
- url_whitelist?: Array;
- /**
- * Whether the Events in the Project will be ignored if they originate from old web browsers. Relevant to JavaScript Projects only.
- * @type {boolean}
- * @memberof ProjectBase
- */
- ignore_old_browsers?: boolean;
- /**
- * Relevant to JavaScript Projects only. A mapping a of browser name to browser version. If set, Events in the Project will be ignored if they originate from a browser specified here whose version is earlier than the given version. Keys must be one of the following strings: chrome, ie, firefox, safari, android, uc, opera, opera_mini, samsung, blackberry, sogou, other. Values must be a number indicating which which version to ignore up to (but not including), or one of the strings: `ignore_all`, `ignore_none` Example: ``` { \"chrome\": \"ignore_none\", \"safari\": 6, \"other\": \"ignore_all\" } ```
- * @type {any}
- * @memberof ProjectBase
- */
- ignored_browser_versions?: any;
- /**
- * If true, every error in the Project will be marked as 'fixed' after using the Deploy Tracking API to notify Bugsnag of a new production deploy. Applies to non-JavaScript Projects only.
- * @type {boolean}
- * @memberof ProjectBase
- */
- resolve_on_deploy?: boolean;
-}
-/**
- *
- * @export
- * @interface ProjectCreateRequest
- */
-interface ProjectCreateRequest {
- /**
- * The new Project's name. Note that the first character should not start with a '$'.
- * @type {string}
- * @memberof ProjectCreateRequest
- */
- name: string;
- /**
- *
- * @type {ProjectType}
- * @memberof ProjectCreateRequest
- */
- type: ProjectType;
- /**
- * For javascript projects this will filter errors from older browsers
- * @type {boolean}
- * @memberof ProjectCreateRequest
- */
- ignore_old_browsers?: boolean;
-}
-/**
- *
- * @export
- * @interface ProjectIdEventDataDeletionsBody
- */
-interface ProjectIdEventDataDeletionsBody {
- /**
- * whether to skip requiring another request to confirm the deletion
- * @type {boolean}
- * @memberof ProjectIdEventDataDeletionsBody
- */
- skip_confirmation?: boolean;
- /**
- *
- * @type {Filters}
- * @memberof ProjectIdEventDataDeletionsBody
- */
- filters: Filters;
-}
-/**
- *
- * @export
- * @interface ProjectIdEventDataRequestsBody
- */
-interface ProjectIdEventDataRequestsBody {
- /**
- *
- * @type {EventDataRequestReportType}
- * @memberof ProjectIdEventDataRequestsBody
- */
- report_type?: EventDataRequestReportType;
- /**
- *
- * @type {Filters}
- * @memberof ProjectIdEventDataRequestsBody
- */
- filters: Filters;
-}
-/**
- *
- * @export
- * @interface ProjectIdStarredFeatureFlagsBody
- */
-interface ProjectIdStarredFeatureFlagsBody {
- /**
- * ID of the Feature Flag to star.
- * @type {string}
- * @memberof ProjectIdStarredFeatureFlagsBody
- */
- feature_flag_id: string;
-}
-/**
- *
- * @export
- * @interface ProjectNetworkGroupingRuleset
- */
-export interface ProjectNetworkGroupingRuleset {
- /**
- * The ID of the project this is for
- * @type {string}
- * @memberof ProjectNetworkGroupingRuleset
- */
- project_id: string;
- /**
- * The URL patterns by which network spans are grouped.
- * @type {Array}
- * @memberof ProjectNetworkGroupingRuleset
- */
- endpoints: Array;
-}
-/**
- * used for Projects that use a framework other than those listed above
- * @export
- * @enum {string}
- */
-enum ProjectType {
- Android = "android",
- Angular = "angular",
- Asgi = "asgi",
- Aspnet = "aspnet",
- AspnetCore = "aspnet_core",
- Backbone = "backbone",
- Bottle = "bottle",
- Cocos2dx = "cocos2dx",
- Connect = "connect",
- Django = "django",
- Dotnet = "dotnet",
- DotnetDesktop = "dotnet_desktop",
- DotnetMvc = "dotnet_mvc",
- Electron = "electron",
- Ember = "ember",
- Eventmachine = "eventmachine",
- Expo = "expo",
- Express = "express",
- Flask = "flask",
- Flutter = "flutter",
- Gin = "gin",
- Go = "go",
- GoNetHttp = "go_net_http",
- Heroku = "heroku",
- Ios = "ios",
- Java = "java",
- JavaDesktop = "java_desktop",
- Js = "js",
- Vega = "vega",
- Koa = "koa",
- Laravel = "laravel",
- Lumen = "lumen",
- Magento = "magento",
- Martini = "martini",
- Minidump = "minidump",
- Ndk = "ndk",
- Negroni = "negroni",
- NintendoSwitch = "nintendo_switch",
- Node = "node",
- Osx = "osx",
- OtherDesktop = "other_desktop",
- OtherMobile = "other_mobile",
- OtherTv = "other_tv",
- Php = "php",
- Python = "python",
- Rack = "rack",
- Rails =